JavaScript Let
Anahtar kelime ES6'da (2015)let
tanıtıldı
.
İle tanımlanan değişkenler let
Yeniden Bildirilemez.
İle tanımlanan değişkenler let
kullanılmadan önce Bildirilmelidir.
ile tanımlanan değişkenler let
Blok Kapsama sahiptir.
Yeniden Beyan Edilemez
ile tanımlanan değişkenler let
yeniden bildirilemez .
Bir değişkeni yanlışlıkla yeniden bildiremezsiniz.
Bununla let
yapamazsınız:
Örnek
let x = "John Doe";
let x = 0;
// SyntaxError: 'x' has already been declared
Şunları var
yapabilirsiniz:
Örnek
var x = "John Doe";
var x = 0;
Blok Kapsamı
ES6'dan (2015) önce JavaScript'te yalnızca Global Scope ve Function Scope vardı .
ES6, iki önemli yeni JavaScript anahtar sözcüğünü tanıttı: let
ve const
.
Bu iki anahtar kelime , JavaScript'te Blok Kapsamı sağlar.
Bir { } bloğu içinde bildirilen değişkenlere bloğun dışından erişilemez:
Örnek
{
let x = 2;
}
// x can NOT be used here
Anahtar kelime ile bildirilen değişkenler var
blok kapsamına sahip olamaz.
Bir { } bloğu içinde tanımlanan değişkenlere bloğun dışından erişilebilir.
Örnek
{
var x = 2;
}
// x CAN be used here
Değişkenleri Yeniden Tanımlamak
var
Anahtar kelimeyi kullanarak bir değişkeni yeniden bildirmek, sorunlara neden olabilir.
Bir blok içindeki bir değişkeni yeniden bildirmek, değişkeni bloğun dışında da yeniden bildirir:
Örnek
var x = 10;
// Here x is 10
{
var x = 2;
// Here x is 2
}
// Here x is 2
Anahtar kelimeyi kullanarak bir değişkeni yeniden bildirmek let
bu sorunu çözebilir.
Bir blok içindeki bir değişkeni yeniden bildirmek, değişkeni bloğun dışında yeniden bildirmez:
Örnek
let x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
Tarayıcı Desteği
Anahtar let
sözcük, Internet Explorer 11 veya önceki sürümlerde tam olarak desteklenmez.
Aşağıdaki tablo, let
anahtar kelime için tam desteğe sahip ilk tarayıcı sürümlerini tanımlar:
Chrome 49 | Edge 12 | Firefox 44 | Safari 11 | Opera 36 |
Mar, 2016 | Jul, 2015 | Jan, 2015 | Sep, 2017 | Mar, 2016 |
yeniden beyan
Bir programda herhangi bir yerde bir JavaScript değişkeninin yeniden bildirilmesine var
izin verilir:
Örnek
var x = 2;
// Now x is 2
var x = 3;
// Now x is 3
ile let
, aynı blokta bir değişkenin yeniden bildirilmesine izin VERİLMEZ:
Örnek
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
}
Bir değişkeni let
başka bir blokta , ile yeniden bildirmeye izin verilir:
Örnek
let x = 2; // Allowed
{
let x = 3; // Allowed
}
{
let x = 4; // Allowed
}
Kaldırma
ile tanımlanan değişkenler var
yukarı kaldırılır ve herhangi bir zamanda başlatılabilir.
Anlamı: Değişkeni bildirilmeden önce kullanabilirsiniz:
Örnek
Tamamdır:
carName = "Volvo";
var carName;
Kaldırma hakkında daha fazla bilgi edinmek istiyorsanız, JavaScript Kaldırma bölümünü inceleyin .
İle tanımlanan değişkenler let
de bloğun en üstüne kaldırılır, ancak başlatılmaz.
Anlamı: Bir let
değişkeni bildirilmeden önce kullanmak, aşağıdakilerle sonuçlanır
ReferenceError
:
Örnek
carName = "Saab";
let carName = "Volvo";