Es6新增特性列表

类:创建一个类,里面会有一个构造函数(constructor),实例化的时候就会被调用,如果不指定,那么会有一个不带参数的默认构造函数,其中还有一个toString属性,这个属性在原型对象上。类名.hasOwnProperty()只能判断构造函数中的属性,返回布尔值,toString属性在原型对象上,返回false。类名._proto_是类的原型对象,类名._proto_.toString()正确。

class Cat extends Animal 关于继承,子类必须要在constructor中指定super函数,否则在新建实例的时候会报错。如果没有指定constructor,默认带super函数的constructor将会被添加。

模块化:模块的功能主要由exportimport组成。每个模块都有自己单独的作用域,模块之间的相互调用关系是通过export来规定模块对外暴露的接口,通过import来引用其他模块提供的接口。同时还为模块创造了命名空间,防止函数的命名冲突。允许一个模块中使用export导出多个变量和函数。定义好模块的输出就可以在另一个模块通过import引用。

箭头函数:箭头函数与包围她的代码共享一个this。普通函数(this 永远指向调用它的对象,new的时候,指向new出来的对象)。箭头函数(箭头函数没有自己的 this,当在内部使用了 this时,它会指向最近一层作用域内的 this)。

函数参数默认值function foo(height = 50, color = 'red')

模板字符串:var name = `Your name is ${first} ${last}.`

解构赋值:可以方便的从数组或者对象中快速提取值赋给定义的变量。

延展操作符:展开语法和 Object.assign() 行为一致, 执行的都是浅拷贝(只遍历一层)。后边详细阐述。

对象属性简写:name:name==>name

Promise

LetConst

参考链接:https://blog.csdn.net/zgrkaka/article/details/82863445

原文地址:https://www.cnblogs.com/pengxiangchong/p/12733055.html