回顾 es6中的class
程序员文章站
2023-12-21 13:19:16
...
学过es6后,过了一两个月,有点遗忘,回顾下。。。。。
class(简称类)可以看做是es6的一个语法糖,他的绝大部分功能es5都可以做到,只是书写更加清晰;
class Person {
constructor (name) {
this.name = name;
this.age = 18;
}//私有属性
chi () {
console.log('吃')
}//公有属性
static alive () {
return true;
}//静态属性
}
只是一个类的最基本写法
constructor 为Person类的私有属性
chi为Person类的公有属性(原型属性)
alive为Person类的静态属性(函数属性)
通过new的方式可以构造函数可以继承constructor属性,原型上有原型属性,constructor上有静态属性;
写一个类来继承上一个类
class Person1 extends Person {
constructor(name) {
super(name);
this.money = 100;
}
xizao () {
console.log('xizao');
}
}
constructor中的super(name)相当于Person.call(this,name)
通过这个方式
var a = new Person1('zhangsan');
实现es6标准继承
原型上的静态属性必须要用函数名调用,例,
Person1.alive();
总结:
1.通过class定义的类必须通过new的方式调用
2.通过class定义的类的prototype上的属性,静态属性不可枚举
3.静态属性在函数上,非原型上