- ES6聲明變量的方法:var、function、let、const、import、class
- let命令用于聲明變量,其用法類似于var。let命令和var命令的區(qū)別:
- let命令所聲明的變量值在let命令所在的代碼塊內(nèi)有效,而var聲明的變量在全局環(huán)境中都有效。
if(true){ let a=5; var b=2; } console.log(a); // ReferenceError: a is not defined console.log(b); // 2
2. let不存在變量提升,而var存在變量提升現(xiàn)象。
>console.log(typeof(x));// ReferenceError: a is not defined let x=5; console.log(a); // undefined var a=2;
3. 在代碼塊內(nèi),使用let命令聲明變量之前,該變量都是不可用的。也就是存在“暫時(shí)性死區(qū)”現(xiàn)象。
>var a=3; if(true){ a="abc"; // ReferenceError: a is not defined let a; }
4. let不允許在相同作用域內(nèi)重復(fù)聲明同一個(gè)變量,而var可以多次聲明同一個(gè)變量。
>var b="init b"; var b="second"; console.log(b); // "second" var a=10; let a=2; //報(bào)錯(cuò):“Identifier 'a' has already been declared”
- const命令用于聲明常量。一旦聲明,其值就不能改變。其特性與let相似,不存在常量提升,存在暫時(shí)性死去,作用域?yàn)槠鋲K級(jí)作用域,不允許重復(fù)聲明常量。
const PI=3.1415; PI=2; // TypeError: Assignment to constant variable
- ES6規(guī)定,var命令和function命令聲明的全局變量依舊是全局對(duì)象的屬性,而let命令、const命令和class命令聲明的全局變量不屬于全局對(duì)象的屬性。
第2章 let和const命令
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- let 命令 塊級(jí)作用域 const 命令 頂層對(duì)象的屬性 global 對(duì)象 let 命令 基本用法 ES6 新...
- let 命令 塊級(jí)作用域 const 命令 頂層對(duì)象的屬性 global 對(duì)象 let 命令 基本用法 ES6 新...
- 1、let命令 作用域 let命令與var基本相似,只是let所聲明的變量只在let代碼塊內(nèi)有效。 因?yàn)樽兞渴褂胠...
- 本文屬個(gè)人筆記,不做詳解,僅供參考! let命令 基本用法 ES6 新增了let命令,用來聲明變量。它的用法類似于...