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
: