Таким образом, JavaScript ввел это ключевое слово в es5, но некоторые новые вещи появились в этом ключевом слове в es6 или es2015. Это ключевое слово для доступа к элементам объектов. В порядке! давайте поговорим об одном примере, чтобы понять это правильно…

Здесь вы можете видеть, что я создаю объект с именем person и устанавливаю firstName, secondName, age и для доступа к нему использую это ключевое слово, а после этого я использую метод JavaScript для печати года рождения этого человека. В порядке! просто проверьте, что этот код дает на выходе.

Некоторые факты об этих ключевых словах:–

  • Когда вы устанавливаете функцию стрелки вместо обычной функции, ключевое слово this представляет собой лексическое значение this. А теперь что такое лексическая область видимости:

Лексическая область видимости в JavaScript означает, что переменная, определенная вне функции, может быть доступна внутри другой функции, определенной после объявления переменной. Но обратное неверно; переменные, определенные внутри функции, не будут доступны вне этой функции.

Пример этого

Стрелочные функции особенные: у них нет «своих» this. Если мы ссылаемся на this из такой функции, она берется из внешней «нормальной» функции.

Например, здесь arrow() использует this из внешнего метода user.sayHi():

let user = {
  firstName: "Ilya",
  sayHi() {
    let arrow = () => alert(this.firstName);
    arrow();
  }
};
user.sayHi(); // Ilya
  • Теперь зачем использовать это ключевое слово?

Это ключевое слово дает гибкость. Как будто вы просто думаете, что если в объекте этого человека какой-либо экземпляр изменится на другое значение, например, если в будущем возраст изменится на 53, то в это время это ключевое слово появится на картинке, оно просто установит переменную возраста в метод getbirthYear, который нам не нужно беспокоиться об изменении все в этом коде.

Есть много фактов, связанных с этим ключевым словом, некоторые

это ключевое слово не привязано

В JavaScript ключевое слово this ведет себя не так, как в большинстве других языков программирования. Его можно использовать в любой функции, даже если это не метод объекта.

В следующем примере нет синтаксической ошибки:

function sayHi() {
  alert( this.name );
}

Обратите внимание, что стрелочные функции особенные: у них нет this. Когда к this обращаются внутри стрелочной функции, она берется извне.