let是es6的語法。let是es6中新增的關(guān)鍵字,用于聲明變量,聲明的變量只在let命令所在的代碼塊內(nèi)有效,let命令改變了語法行為,它所聲明的變量一定要在聲明后使用,否則報錯,語法為“l(fā)et name=value;”。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
let是es6的語法嗎
ES6 新增了let命令,用來聲明變量。它的用法類似于var,但是所聲明的變量,只在let命令所在的代碼塊內(nèi)有效。
let 聲明的變量只在 let 命令所在的代碼塊內(nèi)有效。
1.不存在變量提升:
let命令改變了語法行為,它所聲明的變量一定要在聲明后使用,否則報錯。
2.暫時性死區(qū):
ES6 明確規(guī)定,如果區(qū)塊中存在let和const命令,這個區(qū)塊對這些命令聲明的變量,從一開始就形成了封閉作用域。凡是在聲明之前就使用這些變量,就會報錯。
總之,在代碼塊內(nèi),使用let命令聲明變量之前,該變量都是不可用的。這在語法上,稱為“暫時性死區(qū)”(temporal dead zone,簡稱 TDZ)。
3.不允許重復(fù)聲明:
let不允許在相同作用域內(nèi),重復(fù)聲明同一個變量. 因此,不能在函數(shù)內(nèi)部重新聲明參數(shù)。
示例如下:
基本用法:
{ let a = 0; a // 0 } a // 報錯 ReferenceError: a is not defined
代碼塊內(nèi)有效
let 是在代碼塊內(nèi)有效,var 是在全局范圍內(nèi)有效:
{ let a = 0; var b = 1; } a // ReferenceError: a is not defined b // 1
【