JS let

let kalit so‘zi ES6 (2015)’da joriy etilgan

let bilan e’lon qilingan o‘zgaruvchilar blok Scope-ga (block scope) ega

let bilan e’lon qilingan o‘zgaruvchilar ishlatilishidan oldin e’lon qilinishi shart

let bilan e’lon qilingan o‘zgaruvchilarni bitta sohada qayta e’lon qilib bo‘lmaydi

ULASHISH

Blok Scope (Block Scope)

ES6 (2015) dan oldin JavaScript-da Block Scope mavjud emas edi.

JavaScript-da Global Scope va Function Scope mavjud edi.

ES6 ikkita yangi JavaScript kalit so‘zlarini taqdim etdi: let va const.

Ushbu ikkita kalit so‘z JavaScript-da Block Scope-ni taqdim etdi:

Misol

{ } blokida e’lon qilingan o‘zgaruvchilarga blokdan tashqaridan kirish mumkin emas:

{
  let x = 2;
}
// x can NOT be used here

Function Scope (Function Scope)

Funksiya ichida var, let yoki const bilan e’lon qilingan barcha o‘zgaruvchilar Funksiya doirasiga ega:

Misol

function myfunction() {
  var x = 1;
  let y = 2;
  const z = 3;
}
//x can NOT be used here
//y can NOT be used here
//z can NOT be used here

Global Scope (Global Scope)

var bilan e’lon qilingan o‘zgaruvchilar har doim global ko‘rinish sohasiga (Global Scope) ega bo‘ladi.

var kalit so‘zi bilan e’lon qilingan o‘zgaruvchilar blok doirasiga ega EMAS:

Misol

{ } bloki ichida var bilan e’lon qilingan o‘zgaruvchilardan kirish mumkin blokdan tashqarida:

{
  var x = 2;
}
// x CAN be used here

Qayta e’lon qilib bo‘lmaydi

let bilan belgilangan o‘zgaruvchilarni qayta e’lon qilib bo‘lmaydi.

let bilan e’lon qilingan o‘zgaruvchini tasodifan qayta e’lon qila olmaysiz.

bilan let siz buni olmaysiz:

let x = "John Doe";

let x = 0;

var bilan belgilangan o‘zgaruvchilar qayta e’lon qilinishi mumkin.

var bilan buni amalga oshirishingiz mumkin:

var x = "John Doe";

var x = 0;

O‘zgaruvchilarni qayta e’lon qilish

var kalit so‘zi yordamida o‘zgaruvchini qayta e’lon qilish muammolarga olib kelishi mumkin.

Blok ichidagi o‘zgaruvchini qayta e’lon qilish o‘zgaruvchini blokdan tashqarida ham qayta e’lon qiladi:

Misol

var x = 10;
// Here x is 10

{
var x = 2;
// Here x is 2
}

// Here x is 2
O‘zingiz sinab ko‘ring »

let kalit so‘zidan foydalangan holda o‘zgaruvchini qayta e’lon qilish bu muammoni hal qilishi mumkin.

Blok ichidagi o‘zgaruvchini qayta e’lon qilish o‘zgaruvchini blokdan tashqarida qayta e’lon qilmaydi:

Misol

let x = 10;
// Here x is 10

{
let x = 2;
// Here x is 2
}

// Here x is 10
O‘zingiz sinab ko‘ring »

Var, let va const o‘rtasidagi farq

var , let o‘rtasidagi farq va const ko‘lamli mexanizmlar, Qayta tayinlash qoidalari va JavaScript-da yotadi Ko‘tarish (Ko‘tarish).

Zamonaviy JavaScript standartlari beixtiyor xatolarni kamaytirish uchun var dan qochishni tavsiya qiladi.

Xususiyatvarletconst
Qo‘llash doirasiFunksiya yoki global qamrovBlok doirasi {}Blok doirasi {}
Qayta tayinlashYangilanishi mumkinYangilanishi mumkinYangilab bo‘lmaydi
Qayta deklaratsiyaQayta e’lon qilinishi mumkinQayta e’lon qilib bo‘lmaydiQayta e’lon qilib bo‘lmaydi
Ko‘tarish (Hoisting)Belgilanmagan sifatida ishga tushirildiKo‘tarilgan, ishga tushirilmaganKo‘tarilgan, ishga tushirilmagan


Qayta e’lon qilish

JavaScript o‘zgaruvchisini var bilan qayta e’lon qilishga dasturning istalgan joyida ruxsat beriladi:

Misol

var x = 2;
// Now x is 2

var x = 3;
// Now x is 3
O‘zingiz sinab ko‘ring »

bilan let , bir xil blokdagi o‘zgaruvchini qayta e’lon qilishga ruxsat EMAS:

Misol

var x = 2;   // Allowed
let x = 3;   // Not allowed

{
let x = 2;   // Allowed
let x = 3;   // Not allowed
}

{
let x = 2;   // Allowed
var x = 3;   // Not allowed
}

Boshqa blokda let bilan o‘zgaruvchini qayta e’lon qilishga ruxsat beriladi:

Misol

let x = 2;   // Allowed

{
let x = 3;   // Allowed
}

{
let x = 4;    // Allowed
}
O‘zingiz sinab ko‘ring »

let va hoisting

var bilan belgilangan o‘zgaruvchilar yuqoriga ko‘tariladi va istalgan vaqtda ishga tushirilishi mumkin.

Ma’nosi: O‘zgaruvchini e’lon qilinishidan oldin ishlatishingiz mumkin:

Misol

Bu yaxshi:

carName = "Volvo";
var carName;
O‘zingiz sinab ko‘ring »

Agar siz yuk ko‘tarish haqida ko‘proq bilmoqchi bo‘lsangiz, JavaScript yuklash bo‘limini o‘rganing.

let bilan belgilangan o‘zgaruvchilar ham yuqoriga ko‘tariladi blokning, lekin ishga tushirilmagan.

Ma’nosi: let o‘zgaruvchisini e’lon qilishdan oldin ishlatish ReferenceErrorga olib keladi:

Misol

carName = "Saab";
let carName = "Volvo";
O‘zingiz sinab ko‘ring »


Video: JavaScript ruxsat

Tutorial on YouTube
Tutorial on YouTube

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!