Большинство из нас будет сбито с толку ключевым словом this в javascript, потому что this в JS отличается от this на другом языке программирования (JAVA).
ЗАМЕТКА :
Для функции All Regular это указывает на объект WINDOW (Global Context).
Например,
Вывод :
Вы можете видеть, что когда это обычный функциональный вызов, где бы он ни присутствовал, он ссылается на глобальный объект (окно в браузерах).
User.sayHello() => — это вызов объекта, поэтому это относится к объекту пользователя.
Давайте посмотрим на некоторые другие примеры
В этом случае нам нужно перебрать все элементы в массиве студентов и сопоставить их с ответственными, как я уже говорил ранее, обычная функция «это» относится к глобальному контексту, и у нас нет ответственных, объявленных в глобальном контексте, поэтому это остается неопределенным
Так что это что-то сбивает с толку в JavaScript, чтобы преодолеть, мы можем сделать 2 вещи
- Привяжите это ключевое слово
2 . мы можем использовать стрелочную функцию ES 6, где «это» не относится к своему собственному контексту, а использует this
окружающего лексического контекста.