class类
ES5中没有类,一般通过函数去模拟
1 | let Animal = function (type) { //定义了一个叫Animal的类 |
ES6写法
1 | class Animal { |
class知识ES5用原型链声明的语法糖–本质是一样的
Setter&Getter–如何读写属性
1 | class Animal { |
Static Methods(如何操作方法?)
ES5
1 | let Animal = function (type) { |
ES6
1 | class Animal { |
总结:类静态方法拿不到当前的实例对象
Sub Classes(如何继承一个类?)
ES5
1 | //定义父类 |
ES6
1 | class Dog extends Animal { //extends表示继承 |
总结:类的声明 属性 方法 继承
Default Parameters(函数参数的默认值)
ES5
1 | function f (x, y, z) { |
ES6
1 | function f (x, y=7, z=42) { //有默认值的参数往后写,默认值可以是其他参数的表达式 比如z=x+y |
Rest Parameter(怎么处理不确定参数?)
1 | function sum () { |
另一种写法—不使用arguments的方法
1 | function sum (base, ...nums) { //把第一个数放到base中,其余数放到nums中 |
Spread Operator(rest参数的逆运算)
1 | function sum (x = 1, y = 2, z = 3) { |
Arrow Functions(箭头函数)
ES6中的箭头函数是什么?
()=>{} 箭头后面是表达式,可以省略return
有参数,并且只有一个参数()可以省略
返回的是表达式{}可以省略 ,若是对象不能省略
1 | function hello () {} |
总结:默认值 不确定参数 箭头函数