类的创建与继承
//创建类
class A {
constructor(name = 'mukewang') {
this.name = name;
this.id = 1;
}
}
let c_a = new A('a');
console.log(c_a); //{name: "a", id: 1}
// 继承类
class B extends A {
}
console.log(new B('b')); //{name: "b", id: 1}
// 继承类 传递参数
class C extends A {
constructor(name = 'child') {
super(name); //换用this.name = name; 会报错
this.type = 'child';
}
}
console.log(new C('c')); //{name: "c", id: 1, type: "child"}
静态方法 静态属性
class A {
static tell() {
console.log('tell');
}
}
A.tell(); //静态方法
A.type = 'test';
console.log(A.type); //静态属性
getter 与 setter
class A {
constructor(name = 'king') {
this.name = name;
}
age=123
get_age() {
return 'xx' + this.age
}
//这里是属性并不是函数
get get_name() {
return 'xx' + this.name
}
set get_name(value) {
this.name = value;
}
}
let v = new A();
console.log(v.age); //123
console.log(v.get_age());//xx123
v.age = 321;
console.log(v);//{age: 321, name: "king"}
console.log(v.get_name); //xxking
console.log(v); //{age: 321, name: "king"}
v.get_name = 'hello';
console.log(v); //{age: 321, name: "hello"}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。