一、构造函数 ES5中的构造函数语法: let Student=function(name,age,sex){ this.name=name,this.age=age,this.sex=sex} Student.prototype.sayHi=function(){console.log(this.name, this.age,this.sex`);} (在Student的原型对象中添加sayHi) ES6中的构造函数语法: class Student{constructor(name,age,sex){this.name=name, this.age=age,this.sex=sex} sayHi( ){console.log(this.name,this.age,this.sex);}}
扩展:上面提到了prototype,prototype属性是类的原型对象 ;在原型对象中定义类的方法,会提高代码的利用率。 类似于prototype还有一个__proto__属性,此属性是对象的原型对象。注意:同种类型多个对象上的原型对象共同指向类型上的原型对象。
二、继承 ES5中的继承重点在于 (1)继承父类的属性:父类名称.call(this,父类的属性名1,父类的属性名2); (2)继承父类的方法:子类名称.prototype= new 父类名称() ES6中的继承重点在于: 关键字extends和关键字super