JavaScript Ключове слово Let
Ключове слово let було введено в ES6 (2015).
Змінні, визначені за допомогою let неможна повторно оголосити.
Змінні, визначені за допомогою let мають бути оголошені перед використанням.
Змінні, визначені за допомогою let мають область дії блока.
Неможливо повторно оголосити
Змінні, визначені за допомогою let не можуть бути оголошені повторно.
Ви не можете випадково повторно оголосити змінну.
За допомогою let ви не зможете цього зробити:
Приклад
let x = "John Doe";
let x = 0;
// SyntaxError: 'x' вже було оголошено
За допомогою var ви можете:
Приклад
var x = "John Doe";
var x = 0;
Область дії блока
До ES6 (2015) в JavaScript були тільки Global Scope (Глобальна область дії) и Function Scope (Область дії функції).
ES6 представив два важливі нові ключові слова JavaScript: let та const.
Ці два ключові слова забезпечують Block Scope (область дії блоку) у JavaScript.
До змінних, оголошених усередині блоку { }, не можна отримати доступ поза блоком:
Приклад
{
let x = 2;
}
// x НЕ може бути використано тут
Змінні, оголошені за допомогою ключового слова var, не можуть мати область дії блоку.
Змінні, оголошені всередині блоку { }, можуть бути доступні поза блоком.
Приклад
{
var x = 2;
}
// x МОЖНА використовувати тут
Повторне оголошення змінних
Повторне оголошення змінної за допомогою ключового слова var може викликати проблеми.
Повторне оголошення змінної всередині блоку також призведе до повторного оголошення змінної поза блоком:
Приклад
var x = 10;
// Тут x дорівнює 10
{
var x = 2;
// Тут x дорівнює 2
}
// Тут x дорівнює 2
Спробуйте самі »
Повторне оголошення змінної за допомогою ключового слова let може розв’язати цю проблему.
Повторне оголошення змінної всередині блоку не призведе до повторного оголошення змінної поза блоком:
Приклад
let x = 10;
// Тут x дорівнює 10
{
let x = 2;
// Тут x дорівнює 2
}
// Тут x дорівнює 10
Спробуйте самі »
Підтримка браузерами
Ключове слово let не повністю підтримується в Internet Explorer 11 або більш ранній версії.
У наступній таблиці визначено перші версії браузера з повною підтримкою ключового слова let:
| Chrome 49 | Edge 12 | Firefox 44 | Safari 11 | Opera 36 |
| Mar, 2016 | Jul, 2015 | Jan, 2015 | Sep, 2017 | Mar, 2016 |
Повторне оголошення
Повторне оголошення змінної JavaScript за допомогою var дозволено в будь-якому місці програми:
За допомогою let повторне оголошення змінної в тому ж самому блоку ЗАБОРОНЕНЕ:
Приклад
var x = 2; // Дозволено
let x = 3; // Не дозволено
{
let x = 2; // Дозволено
let x = 3 // Не дозволено
}
{
let x = 2; // Дозволено
var x = 3 // Не дозволено
}
Повторне оголошення змінної за допомогою let в іншому блоці ДОЗВОЛЕНО:
Підйом (хостинг) Let
Змінні, визначені за допомогою var, піднімаються вгору та можуть бути ініціалізовані у будь-який час.
Важливо: ви можете використовувати змінну до оголошення:
Якщо ви хочете дізнатися більше про підйом (хостинг), вивчіть розділ JavaScript Хостинг.
Змінні, визначені за допомогою let також підіймаються у верхню частину блоку, але не ініціалізуються.
Важливо: використання змінної let перед її оголошенням призведе до помилки ReferenceError:
