ES6中的let關鍵字
-
- ES6中的let
- const關鍵字
ES6中的let
- 作用
- 與var類似 ,用于聲明一個變量 特點
- 在塊作用域内有效(塊作用域由 { } 包括,if語句和for語句裡面的{ }也屬于塊作用域)
- 不能重複聲明
- 不會預處理,不存在變量提升 應用
- 循環周遊加監聽
- 使用let取代var是趨勢
舉例:
let name="Tom";
let name="Jack";
不能重複聲明

不會預處理,不存在變量提升
console.log(uname); //undefined
var uname="Tom";
console.log(username); //報錯
let username="jack"
在塊作用域内有效
<button >1</button>
<button >2</button>
<button >3</button>
for (var i = 0; i < btns.length; i++) {
var btn=btns[i];
btn.onclick=function (){
//點選任意按鈕都為3
alert(i);
}
};
//使用塊作用域 let
for (let i = 0; i < btns.length; i++) {
var btn=btns[i];
btn.onclick=function (){
//彈出對應内容
alert(i);
}
};
在塊 {} 内let聲明的變量無法從塊外通路:
{
let x = 10;
}
console.log(x);
通過 let 關鍵詞定義的全局變量不屬于 window 對象:
let num=30;
console.log(window.num); //undefined
const關鍵字
- 作用
- 定義一個常量 特點
- const 定義的變量與 let 變量類似,但不能重新指派 應用
- 儲存不用改變的資料
const PI = 3.141592653589793;
PI = 3.14; //出錯
const沒有定義常量值。它定義了對值的常量引用。
是以,我們不能更改常量原始值,但我們可以更改常量對象的屬性。
//可以更改常量對象的屬性
const car = {type:"porsche", model:"911", color:"Black"};
// 可以更改屬性:
car.color = "White";
// 可以添加屬性:
car.owner = "Bill";
在同一作用域或塊中,不允許将已有的 var 或 let 變量重新聲明或重新指派給 const
var x = 3; // 允許
const x = 3; // 不允許
{
let x = 3; // 允許
const x = 3; // 不允許
}