1,let和const
let不会出现变量提升,不允许重复声明,弥补了块级作用域,块级作用域使之前广泛使用的立即执行函数(iife)变得不再需要
// IIFE 写法
(function () {
var tmp = ...;
...
}());
// 块级作用域写法
{
let tmp = ...;
...
}
es6允许在块级作用域中声明函数(一般最好用函数表达式) 但是不会提升 类似let
const 也不会变量提升 声明的值内容可以改 但是引用不可改 可以用freeze冻结使值的内容不可改
原文:https://www.cnblogs.com/stephenleee/p/10180746.html