JS中的静态属性,静态方法,和实例属性,实例方法,以及动态属性和动态方法

基础概念


1.类和对象
万物皆是对象,类是抽象的对象
2.类和实例
对象分两种,一个是类对象,一个是实例对象。
3.对象和实例
万物皆对象,实例是new出来的实际对象

JS中的静态属性,静态方法,和实例属性,实例方法,以及动态属性和动态方法

1.静态属性,静态方法,本质上,是类属性,类方法
2.实例属性,实例方法,这两个命名,已经描述了本质。
3.动态属性和动态方法,按道理,对应着,实例属性和实例方法。
参考地址,强力推荐!!!! https://www.jianshu.com/p/d886052ac98c

一些规则
1.实例方法就是只有实例可以调用,静态方法只有构造函数可以调用,原型方法是实例和构造函数都可以调用,是共享的方法。
2.实例属性就是只有实例可以调用,静态属性只有构造函数可以调用,原型属性是实例和构造函数都可以调用,是共享的属性。
ES5通过`类.属性`,和`类.方法`来定义静态属性和静态方法,通过this来定义实例属性和实例方法
ES6通过static来定义静态属性和静态方法(理想情况下,因为ES不支持静态属性,只支持静态方法),通过this来定义实例属性和实例方法。
参考一下 https://www.jianshu.com/p/2a98ba856d74
3.好消息,ES7支持使用static来定义静态属性了。
https://www.cnblogs.com/jianxian/p/12343220.html

JS中如何定义一个类

1.ES5
一般是使用构造函数
2.ES6
推荐使用class

基于以上的概念。进一步深入

一.ES5 的静态属性,静态方法,实例属性,实例方法

二.ES6 的静态属性,静态方法,实例属性,实例方法

明确规定,Class 内部只有静态方法,没有静态属性。好消息,好消息,好消息,ES7支持在内部,写静态属性了。

posted @ 2020-04-29 15:15  风意不止  阅读(2358)  评论(0编辑  收藏  举报