es5
image.png
es6
image.png

set 与 get

es5

image.png

es6

image.png

static

静态方法

  • 定义的方法只能被类本身访问,实例无法访问

image.png

静态属性

  • 目前es6 题案 在 class 类中 使用 static 声明 静态属性

目前我们可以这样定义静态属性
image.png

私有方法

  • 内部使用的方法,不希望提供给外部使用者使用
  • 一般我们是将私有方法前加 _ ,标明是私有方法,比如 _func(), 但是实例化的对象是可以使用的
  • 所以一般我们这样处理

image.png

  • 通过 symbol 值作为静态属性,这样声明的方法就是私有方法

image.png

私有属性

  • es6 目前提案是在属性前 加# 号,提案 还未通过

    new.target

  • 使用 new.target 声明一个不能实例化的类

image.png

继承

ES5

  • 通过在子类的 prototype 上 赋值 new Parent(), 即 子类.prototype = new 父类()

image.png

ES6

  • 通过extends 关键字实现
  • 子类中constructor 中使用 this 之前,必须 执行 super() 这个方法

image.png

super

作为函数

作为对象

  • 在普通方法中 —-> 父类的原型对象
  • 在静态方法中 —-> 父类

image.png

原型链

image.png