ES6---class语法糖

 Javascript语言中,生成实例对象的传统方法是通过构造函数。

1.类和模块中

  默认是严格模式,所以不需要使用use strict指定运行模式。

2.不存在提升,类不存在变量提升。

3.constructor方法

  constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法,一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。

4.类的实例对象

  生成类的实例对象使用new命令。实例的属性除非显式定义在其本身(即this对象上),否则都是定义在原型上。

5.name属性

  name属性总是返回紧跟在class关键字后面的类名。

6.Generator方法如果某个方法之前加上星号(*),就表示该方法是一个Generator函数。

7.静态方法

  类相当于实例的原型,所有在类中定义的方法,都会被实例继承,如果在一个方法之前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,称之为“静态方法”。

    a.父类的静态方法,可以被子类继承。
    b.静态方法也可以从super对象上调用。

8.静态属性

  ES6明确规定,class内部只有静态方法,没有静态属性,提案提供了类的静态属性,写法是在实例属性的前面,加上static关键字。

9.私用属性和私有方法。

    a.在命名上加以区别。
    b.将私用方法移除模块,因为模块内部的所有方法都是对外可见的。
    c.利用Symbol值的唯一性,将私有方法的名字命名为一个Symbol值。
    d.私有属性,是在属性名之前使用#表示。
集思广益,仅供学习,侵权即删!!
原文地址:https://www.cnblogs.com/hudunyu/p/13432033.html