Выбор ответа Junior Функции высшего порядка спрашивают часто обновлено
Ограничения стрелочных функций
Вопрос
Что верно для стрелочных функций?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Их нельзя вызвать через new. Стрелка не может быть конструктором: new (() = {}) бросает TypeError, и свойства prototype у неё нет.
Варианты ответа
- У них свой
this, равный объекту, в котором они объявлены - Они поднимаются целиком, как объявления
function - Их нельзя вызвать через
newправильный ответ - У них есть свойство
prototype
Разбор
Стрелка не может быть конструктором: new (() => {}) бросает TypeError, и свойства prototype у неё нет. Своего this у стрелки нет, она берёт его из окружающей функции или модуля, а литерал объекта окружением не является. Стрелка всегда выражение, присвоенное переменной, поэтому до строки присваивания её не вызвать.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.