Встречается на собеседованиях • сегодня

Какие знаешь особенности function declaration

Function declaration (объявление функции) имеет несколько ключевых особенностей:

  1. Поднятие (hoisting) – функция доступна до объявления в коде:
javascript
sayHi(); // Работает
function sayHi() { console.log('Hi!'); }
  1. Блочная область видимости в strict mode – вне strict mode функция видна во всей области видимости, в strict mode – только внутри блока:
javascript
'use strict';
if (true) {
  function foo() { console.log(1); }
}
foo(); // Ошибка: foo is not defined
  1. Может быть именованной – в отличие от function expression, всегда имеет имя.

  2. Не создает переменную – в отличие от var, не добавляет свойство в глобальный объект (в браузере – window).

  3. Нельзя использовать в выражениях – нельзя сразу вызывать как IIFE без оборачивания в скобки:

javascript
function() { console.log('Error') }(); // SyntaxError
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы