ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类。class不存在变量提升。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| let methodName = "getInfo"; class Person{ constructor (x,y) { this.x = x; this.y = y; } toString () { return (this.x + "的年龄是" +this.y+"岁"); } [methodName] () { console.log('输出' + this.x + '的基本信息'); } static getCommon(){ return '父类的静态方法'; } }
Object.assign(Person.prototype, { getWeight(){ console.log('71kg'); }, getHeight(){ console.log('175cm'); } });
Person.firstName = 'pca';
let tom = new Person('tom', 23); tom.getInfo(); tom.getWeight();
|