ES6 let const 塊級作用域

所謂溫故而知新,一些知識還是值得拿出來鞏固的


let 和const其用法和var 類似,但是所聲明的變量只在let或const所在的代碼塊內有效

{
let a=10
var b=1
}
a//a is not defined
b//1

暫時性死區
只要塊級作用域內存在let命令,它所聲明的變量就綁定這個區域,不再受外部影響
并且沒有變量提升

var tmp=123;
if(true){
tmp='abc'
let tmp;
}

這樣會報錯,由于let tmp已經和這個塊級作用域綁定 tmp在let之前使用 會報錯

let和const都不允許重復聲明,但內層作用域可以定義外層作用域的同名變量
這里要注意

關于const
對于const指向符合類型的變量,變量名不指向數據,而是指向數據所在地址;

const a=[];
a.push("hello")
a=['hello']

以上代碼會報錯,原因是把a又重新指向了一個新地址

以上例子部分來自阮一峰的ES6入門

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。