let

let - об'являє зміну з блоковою областю видимості

Синтаксис:

let var1 [= value1] [, var2 [= value2]] [..., varN [= valueN]];

Параметри:

var1 - назва змінної.

value1 - значення змінної. Будь який тип даних або функція.

Опис:

let дозволяє оголосити локальну змінну з обмеженою поточним блоком { } коду областю видимості. Відміну від var , яке оголошує змінну глобально або локально в усій функції незалежно від області блоку.

Не усі браузери підтримують let.

Приклад:

var x=5; if(x>3){ let y='не двійка'; //зміна x буде видимою лише у блоці if {...} console.log(y); } alert(y); //ReferenceError: y is not defined - змінної y не існує

Приклад різниці між var і let:

function LET(a){ if(a<0){ let a=0; console.log(a); //0 } console.log(a); //-9 } function VAR(a){ if(a<0){ var a=0; console.log(a); //0 } console.log(a); //0 } VAR(-9); LET(-9);

Подвійне оголошення змінної у одному ж блоці призведе до синтаксичної помилки коду:

let x=5; alert(x); let x=12; //SyntaxError: Identifier 'x' has already been declared

Оголошення змінної такої ж самої назви у різник блоках не призводить до помилки:

if(10>1){ let x=5; //оголошення змінної x в межах блоку if {...} alert(x); } let x=12; alert(x);

Зверніть увагу що switch має лише один блок.

var a=3; switch( a ){ case 0 : let b=3; break; case 1 : let b; //SyntaxError через повторного оголошення змінної break; }

Приклад використання let у циклі for:

var i = 15; for(let i = 0; i < 10; i++){ console.log(i) ; } alert(i); //15