材料参考是阮一峰先生写的ES6教程
let&const敕令
let
ES6新增的let敕令,运用来声明变量的,就像var一样,然则声明的变量只在let地点的代码块中有用。
e.g
{
let a = 1;
var b = 2;
}
a //a is defined
b //2
在运用let或许const能够屏障JS发生的变量名提拔的题目
什么是变量名提拔
变量名提拔指的是变量名没有声明就能够接见
e.g
function test() {
alert(declaredButNotAssigned); // undefined
var declaredButNotAssigned;
}
test();
以上例子会获得undefined
暂时性死区
假如代码中存在let或许const,在这个代码块中声明的变量构成一个关闭的作用域。通常在声明之前运用这个变量都邑报错
块级作用域
ES5中具有全局作用域和函数作用域,ES6添加了块级作用域。运用let或许const声明的变量只能在属于敕令地点的代码块
在块级作用域中的声明的函数应该写成函数表达式的情势,ES6规定在块级作用中声明的函数应该let对待
const
运用const声明的变量不得转变值,也等于const运用变量必需初始化