issues
search
499689317
/
notes
note
2
stars
0
forks
source link
es6
#12
Open
499689317
opened
7 years ago
499689317
commented
7 years ago
Babel转码器将es6代码转为es5执行
let与var关键字: let有块作用域概念,var没有
let不存在变量提升,var存在
const关键字:声明一个只读的常量(一旦声明需要立即初始化),本质上是变量指向的那个内存地址不得改变,变量本身可以改变 . 如果要真正冻结一个对象,应使用Object.freeze方法(深度冻结:遍历属性将对象属性也冻结)
let与const关键字声明的变量,一定要先声明在使用,否则报错
let/const/class关键字声明的全局变量不属于顶层对象(window/global)
变量的解构(模式匹配),只要等号两边的模式匹配,左边的变量就会赋予对应的值 数组的解构:let [x, y] = [10, 100]; 对象的解构:let {x: x, y: y} = {x: 10, y: 100};
避免将大括号写在行首,可在外再套一层小括号({ })
解构规则:只要等号右边的值不是对象或数组,就先将其转为对象,由于undefined与null无法转为对象,对它们解构报错
函数参数解构赋值:函数形参为解构左边值,函数实参为解构右边的值
Set数据结构:类似数组,但是成员值都是唯一的(可用于数组去重)
Map与Object:都是键值对结构,但Object键只能是字符串,Map可以是值对值