类 class
ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。
通过 class 关键字,可以定义类 class
新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已
类的所有方法都定义在类的 prototype
属性上面,constructo() 也是类原型的 constructor()
-
class Point { constructor(x, y) { /* 构造方法,实例 = new 类 */ this.x = x; this.y = y; }; toString() { return '(' + this.x + ', ' + this.y + ')'; }; }; /**** 子类 继承 父类 ****/ class myPoint extends Person { constructor(x, y, color){ /* 构造方法如果不写,系统默认也会创建,并在内调用 super() */ super(x, y); /* 调用父类的构造方法,继承父类的 属性 和 方法 */ this.color = color; }; sayIt(){ /* 不再需要 function 关键字 */ return 'This is a '+color+'point('+x+', '+y+')'; }; };
- 类的内部所有定义的方法,都是不可枚举的(non-enumerable)
- 2
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
55
5
5
5
5
5
5
5
5
5
55
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5