1.生产一个类,并在类里面定义一个方法
class Person{
constructor(name,age){
this.name=name;
this.age=age;
}
say(){
console.log(this.name+this.age)
}
}
//ES6 的类,完全可以看作构造函数的另一种写法。
typeof Person; //function
a.构造函数的prototype属性,在 ES6 的“类”上面继续存在。事实上,类的所有方法都定义在类的prototype属性上面。
class Person {
constructor() {
// ...
}
say() {
// ...
}
toValue() {
// ...
}
}
// 等同于
Person.prototype = {
constructor() {},
say() {},
};
b.在类的实例上面调用方法,其实就是调用原型上的方法。
class Person{
}
let p = new Person();
console.log(p.constructor==Person.prototype.constructor); //true
2.类的方法定义在原型上,如何一次向原型添加很多方法Object.assign()
class Person{
}
Object.assign(Person.prototype,{
say(){
console.log("say")
},
listen(){
console.log("listen")
}
});