let是es6的语法。let是es6中新增的关键字,用于声明变量,声明的变量只在let命令所在的代码块内有效,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错,语法为“let name=value;”。
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
let是es6的语法吗
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
let 声明的变量只在 let 命令所在的代码块内有效。
1.不存在变量提升:
let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。
2.暂时性死区:
ES6 明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。
总之,在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为“暂时性死区”(temporal dead zone,简称 TDZ)。
3.不允许重复声明:
let不允许在相同作用域内,重复声明同一个变量. 因此,不能在函数内部重新声明参数。
示例如下:
基本用法:
{ let a = 0; a // 0 } a // 报错 ReferenceError: a is not defined
代码块内有效
let 是在代码块内有效,var 是在全局范围内有效:
{ let a = 0; var b = 1; } a // ReferenceError: a is not defined b // 1
【