глобальные области видимости javascript
let a
let b
function myFn() {
let b;
a = true;
b = 10;
console.log(b)
}
myFn()
console.log(a) // true
console.log(b) // undefined
почему console.log(a) выдает true? a = true находится в локальной области функции myFn и переменная a из глобальной области будет undefined поэтому я ожидал что console.log(a) выдаст undefined
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
a = true находится в локальной области функции myFn
переменная объявлена вне функции, так что её область начинается значительно выше, нежели действие этой функции. Вот если бы в функции произошло бы объявление новой переменной через ключевое слово let/const a = ...
, тогда бы это означало, что переменная создана внутри той самой своей области. А так. Всё верно.