1、let和const命令

1谎亩、let命令

基本用法

用來(lái)聲明變量炒嘲,類似于var,但是所聲明的變量只在let命令所在的代碼塊內(nèi)有效匈庭。
for循環(huán)中適合使用let:

var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6]();//6夫凸,如果用var聲明i,輸出會(huì)是10嚎花。

不存在變量提升

let命令不會(huì)提升聲明寸痢,即先使用后聲明不會(huì)返回undefined,會(huì)直接報(bào)錯(cuò)紊选。

// var 的情況
console.log(a); // 輸出undefined
var a= 2;

// let 的情況
console.log(a); // 報(bào)錯(cuò)
let a= 2;

暫時(shí)性死區(qū)

當(dāng)前作用域存在let命令時(shí),其聲明的變量將綁定這個(gè)區(qū)域道逗,不受外部影響兵罢,即必須要在聲明之后,才能使用此變量滓窍,即使它在外部已聲明過(guò)卖词。
任何在聲明語(yǔ)句執(zhí)行結(jié)束前的使用都會(huì)報(bào)錯(cuò),包括typeof檢測(cè)吏夯。
其本質(zhì)是:只要進(jìn)入當(dāng)前作用域此蜈,所有變量就已存在摊欠,但不可獲取移斩,只有當(dāng)聲明變量那行代碼執(zhí)行完畢润歉,才可獲取和使用绷跑。

a=1; // 報(bào)錯(cuò)
let a;

typeof a; // 報(bào)錯(cuò)
let a; //如果使用的是var牌芋,上一行代碼會(huì)返回undefined

不允許重復(fù)聲明

let不允許在相同作用域內(nèi)拉一,重復(fù)聲明同一個(gè)變量囤攀。

// 報(bào)錯(cuò)
function () {
  let a = 10;
  var a = 1;
}

// 報(bào)錯(cuò)
function () {
  let a = 10;
  let a = 1;
}

2背稼、塊級(jí)作用域

ES6 的塊級(jí)作用域

let實(shí)際上為JavaScript新增了塊級(jí)作用域

function fun() {
  let a = 5;
  if (true) {
    let a = 10;
  }
  console.log(a); // 5
}

塊級(jí)作用域的出現(xiàn)桨嫁,讓立即執(zhí)行行數(shù)表達(dá)式可以簡(jiǎn)化:

(function () {
  var a = ...;
  ...
}());

//簡(jiǎn)化為:

{
  let a = ...;
  ...
}

塊級(jí)作用域與函數(shù)聲明

在塊級(jí)作用域內(nèi)植兰,應(yīng)盡量避免聲明函數(shù),若必須聲明璃吧,則應(yīng)該寫(xiě)成行數(shù)表達(dá)式楣导,而不是函數(shù)聲明,因?yàn)楹瘮?shù)聲明會(huì)被提升到塊級(jí)作用域的頭部畜挨。

(function () {
  if (false) {
    function f() { console.log('I am inside!'); }
  }
  f();
}());

//因?yàn)楹瘮?shù)聲明提升筒繁,上述代碼在ES6中實(shí)際相當(dāng)于:

(function () {
  var f = undefined;
  if (false) {
    function f() { console.log('I am inside!'); }
  }
  f();//此時(shí)f不是一個(gè)函數(shù)彬坏,會(huì)報(bào)錯(cuò)。
}());

3膝晾、const命令

基本用法

const命令聲明的是一個(gè)常量栓始,一旦聲明,就不允許改變血当。
所以聲明時(shí)必須初始化幻赚,只聲明不賦值的const命令會(huì)報(bào)錯(cuò)。
const聲明與let相似:

  1. 不提升變量臊旭。
  2. 存在暫時(shí)性死區(qū)落恼。
  3. 只在聲明后使用。
  4. 只在塊級(jí)作用域內(nèi)有效离熏。
  5. 不可重復(fù)聲明佳谦。

const命令聲明對(duì)象時(shí),此對(duì)象的屬性的值依然可改變滋戳,對(duì)象本身不可改為新對(duì)象钻蔑,聲明數(shù)組時(shí)同理。

const obj= {};
// 為 obj 添加一個(gè)屬性奸鸯,可以成功
obj.pro = 123;
obj.pro // 123
// 將 obj 指向另一個(gè)對(duì)象咪笑,就會(huì)報(bào)錯(cuò)
obj= {};

const a = [];
a.push('Hello'); // 可執(zhí)行
a.length = 0;    // 可執(zhí)行
a = ['world']; // 報(bào)錯(cuò) 

4、頂層對(duì)象的屬性

瀏覽器環(huán)境下頂層對(duì)象是指window對(duì)象娄涩。
var窗怒、function聲明的全局變量是window對(duì)象的屬性,let蓄拣、const扬虚、class聲明的變量則不是。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末球恤,一起剝皮案震驚了整個(gè)濱河市辜昵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碎捺,老刑警劉巖路鹰,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異收厨,居然都是意外死亡晋柱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)诵叁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)雁竞,“玉大人,你說(shuō)我怎么就攤上這事”撸” “怎么了彪腔?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)进栽。 經(jīng)常有香客問(wèn)我德挣,道長(zhǎng),這世上最難降的妖魔是什么快毛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任格嗅,我火速辦了婚禮,結(jié)果婚禮上唠帝,老公的妹妹穿的比我還像新娘屯掖。我一直安慰自己,他們只是感情好襟衰,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布贴铜。 她就那樣靜靜地躺著,像睡著了一般瀑晒。 火紅的嫁衣襯著肌膚如雪绍坝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,736評(píng)論 1 312
  • 那天瑰妄,我揣著相機(jī)與錄音陷嘴,去河邊找鬼。 笑死间坐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的邑退。 我是一名探鬼主播竹宋,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼地技!你這毒婦竟也來(lái)了蜈七?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤莫矗,失蹤者是張志新(化名)和其女友劉穎飒硅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體作谚,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡三娩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妹懒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀监。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出会前,到底是詐尸還是另有隱情好乐,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布瓦宜,位于F島的核電站蔚万,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏临庇。R本人自食惡果不足惜反璃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苔巨。 院中可真熱鬧版扩,春花似錦、人聲如沸侄泽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)悼尾。三九已至柿扣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闺魏,已是汗流浹背未状。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留析桥,地道東北人司草。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像泡仗,于是被迫代替她去往敵國(guó)和親埋虹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容