let和var的区别总结
- let有自己的块级作用域,在块级作用域外使用变量将报错
- let不存在变量提升
- 在相同作用域内不允许重复声明变量
- 不能在函数内部重新声明参数
变量的解构赋值
# 以前只能这样赋值 var a = 1; var b = 2; var c = 3; #现在可以用数组解构模式来赋值 var [a, b, c] = [1, 2, 3];
// 写法一 export var m = 1; // 写法二 var m = 1; export {m}; // 写法三 var n = 1; export {n as m};
//以上三种写法是等价的
ES6的模块自动采用严格模式,不管你有没有在模块头部加上"use strict";
。
var foo = 'bar'; var baz = {foo}; baz // {foo: "bar"} // 等同于 var baz = {foo: foo};
上面代码表明,ES6允许在对象之中,直接写变量。这时,属性名为变量名, 属性值为变量的值。