16 вопросов
Практика
Можешь объяснить ключевые различия между `var`, `let` и `const` в JavaScript в контексте области видимости, поведения hoisting, переобъявления, переприсваивания и изменяемости?
Можешь объяснить механизм hoisting в JavaScript, в том числе как function declarations, `var`, `let` и `const` обрабатываются по-разному на этапе компиляции?
Можешь объяснить, что такое Temporal Dead Zone (TDZ) в JavaScript и как она влияет на доступ к переменным до их объявления?
Можешь объяснить концепцию scope в JavaScript и описать разные типы scope и то, как они контролируют доступность переменных?
Можешь объяснить, как работает лексическая область видимости в JavaScript и описать взаимосвязь между лексической областью видимости и замыканиями?
Как ты разрешаешь конфликты области видимости при переобъявлении переменных `let` или `const` в разных `case` блоках в switch-выражении JavaScript?
Можешь объяснить ключевые различия между глобальной и локальной областью видимости в JavaScript и описать, как переменные ведут себя в каждом контексте?
Можешь описать восемь фундаментальных типов данных в JavaScript и объяснить, как они делятся на примитивные и непримитивные типы?
Можешь объяснить ключевые различия между `null` и `undefined` в JavaScript, включая то, как они присваиваются и что возвращает оператор `typeof` для каждого из них?
Можешь объяснить, что такое `NaN` в JavaScript, описать, что его вызывает, и объяснить лучшие способы проверки, является ли значение `NaN`?
Можешь объяснить разницу между оператором нестрогого равенства (`==`) и оператором строгого равенства (`===`) в JavaScript, и описать, когда использовать каждый из них?
Можешь объяснить, для чего нужен `Object.is()` в JavaScript и описать конкретные сценарии, где его поведение сравнения отличается от оператора строгого равенства (`===`)?
Можешь объяснить неявное приведение типов в JavaScript, включая то, как оно происходит во время операций и почему это может быть проблематичным?
Можешь объяснить разницу между truthy и falsy значениями в JavaScript и привести примеры каждого?
Можешь объяснить оператор `typeof` в JavaScript и описать распространённую ошибку, которую часто допускают разработчики при его использовании?
Что такое тип данных `BigInt` в JavaScript и в каких сценариях ты бы использовал его вместо стандартного типа `Number`?