В отличии от традиционного вара объявленных переменных, которые прикреплены ко всему ограждающему, области видимости функция, независимо от того, где они появляются - let
декларации приложить к блоку рамке, но не инициализируется, пока они не появятся в блокеКак проверить, объявлена ли переменная `let` на ES6?
Итак:
console.log(a); // undefined
console.log(b); // ReferenceError!
var a;
let b;
Похоже, что подъем не применяется.
Вопрос
Если да, то как я могу безопасно проверить, если переменная была объявлена?
NB - Опция, которую я вижу, является попыткой/уловкой и, конечно же, всегда помещает переменные let
сначала в область видимости. но все же остается мой вопрос
Вы не можете проверить, была ли указана любая переменная (либо 'let', либо' var'). Вы можете только проверить, были ли они определены. Почему вы все равно пытаетесь это сделать? Каков ваш прецедент? –
@AaditMShah Случай учится. с var я мог бы сделать: 'if (typeof a === 'undefined')' –
Отредактировал свой комментарий.То, что вы делаете, - это проверка того, была ли определена переменная. Вы не проверяете, было ли оно объявлено. –