1.先看看JS里类的写法

ES6 --- 类(class)和继承 笔记

变形后的类的写法语法简洁明了

class  Person{  

              constructor() {

                          this.name = 'aaa';

              }  //注意这里没有逗号

              showName() {   //注意这里没有function

              }

}

 

2.属性名可以放表达式

let a = 'zzz';

let b = 'bbb';

chass Person{

            [a + b] () {   //写成这样形式也是可以的

           }

}

这种写法与json是一样的

let a = 'aaa';

let b = 'bbb';

let json = {

             [a + b] : 'xxxxxxxxxxxxx'

}

 

单独说明一下,使用class时,有一点要非常注意

注意1:ES6里面class不能进行作用域提升,但是在之前的ES5里面,用函数模拟是可以的,因为函数默认进行作用域(也叫做预解析)是可以提升的

注意2:ES6里面this比之前轻松多了

矫正this:

          1.function.call(this指向谁,args1,args2...)

          2.function.apply(this指向谁,[args1,args2...])

          3.function.bind()

 

3.类里面新增的

class里面新增:取值函数(getter),存值函数(setter)

ES6 --- 类(class)和继承 笔记

 

4.静态方法:就是类身上方法

                  static aaa() {

 

                  }

                  父类.aaa();

ES6 --- 类(class)和继承 笔记
                 

5.父类

子类

继承

之前使用继承非常的繁琐

现在ES6里面继承非常的简单

          使用:extends

          class Student extends Person{

          }

ES6 --- 类(class)和继承 笔记

 

当父类与子类里有同一个方法时,可以使用super

ES6 --- 类(class)和继承 笔记

 

拖拽的示例

ES6 --- 类(class)和继承 笔记

ES6 --- 类(class)和继承 笔记

 

 

 

 

 

 

 

相关文章: