es6的class里面提供了实例属性,静态属性,和静态方法,这几个是怎么实现的?

来源:2-12 class - 总结

qq_氺瓶座_0

2019-08-06

如代码 , 分别怎么用es5实现的

class A {
	name="A"
	static age = 20
	static say(){console.log(this.name)}
}
写回答

1回答

qq_氺瓶座_0

提问者

2019-08-06

我的理解吧,两个静态直接是类的属性和方法,相当于

A.age = 20;

A.say = function(){

    console.log(xxx)

//这里刚才有个错误,静态方法不能访问实例属性,this.name代表类名字,虽然这里巧合的让其实例属性name也是A

}

然后name相当于直接在构造函数里面添加代码  this.name = "xxx";使得类的实例属性在其原型prototype上没有确在new 出来的实例对象 a上有

0
1
双越
这么理解没问题。
2019-08-06
共1条回复

前端跳槽必备 一线互联网公司高级前端JavaScript面试

视频讲解前端面试中的JS高级知识点,扩展JS知识深度,从容面试

1621 学习 · 218 问题

查看课程