Пример использования нового синтаксиса функции стрелки =>

Вот несколько случаев, когда вы, вероятно, не захотите их использовать:

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

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

Несмотря на то, что они анонимны, мне также нравится использовать их с такими методами, как map и reduce, потому что я думаю, что это делает мой код более читабельным. Для меня плюсы перевешивают минусы

Различия в использовании foo между function foo() {} и var foo = function() {}

Так же, как объявления переменных должны начинаться с «var», объявления функций должны начинаться с «function». Функция только объявлена ​​здесь. Для ее использования она должна быть вызвана с использованием имени функции. например, bar();

Функцию JavaScript также можно определить с помощью выражения. Выражение функции можно сохранить в переменной: var x = function (a, b) {return a * b};

После того как функциональное выражение было сохранено в переменной, эту переменную можно использовать как функцию. Функции, хранящиеся в переменных, не нуждаются в именах функций. Они всегда вызываются (вызываются) с использованием имени переменной. Объявления функций загружаются перед выполнением любого кода, а Выражения функций загружаются только тогда, когда интерпретатор достигает этой строки кода.

Пример деструктуризации объекта или массива?

Деструктуризация присваивания — классная функция, появившаяся вместе с ES6. Деструктурирование – это выражение JavaScript, позволяющее распаковывать значения из массивов или свойства из объектов в отдельные переменные. То есть мы можем извлекать данные из массивов и объектов и назначать их переменным.

Преимущество использования синтаксиса стрелки для метода в конструкторе?

Arrow functions больше похожи на операторы функций, за исключением того, что они bind преобразуют this в parent scope. Если аргумент arrow function is in top scope, this будет ссылаться на window/global scope, в то время как стрелочная функция внутри обычной функции будет иметь этот аргумент таким же, как и ее внешняя функция.

С функциями arrow this привязывается к объемлющему scope во время создания и не может быть изменено. Новый оператор, связывание, вызов и применение не влияют на это.

Закрытие в JavaScript

Замыкание — это функция в JavaScript, при которой внутренняя функция имеет доступ к внешним (включающим) переменным функции — цепочке области видимости. замыкание имеет три цепочки областей видимости: она имеет доступ к своей собственной области видимости — переменным, определенным в фигурных скобках. он имеет доступ к переменным внешней функции.