ES6 Class 3a0c0a225a534984aabe9a943c5df975
ES6 Class
status: Draft tags: JavaScript Created time: April 23, 2023 10:52 PM
类
本质
ECMAScript标准中规定的类本质上的JavaScript构造函数的语法糖。
class Application {}
console.log(typeof Application);
// functionction
console.log(Object.getOwnPropertyNames(app.__proto__));
// [ 'constructor' ]实例化
实例化的过程中constructor会自动执行。并且类一定要被new实例化,如果直接调用,那么将会报错。
class Application {}
Application();
// TypeError: Class constructor Application cannot be invoked without 'new'实例属性
声明实例属性
在类中定义实例属性有两种方法:
在
constructor中通过this.的形式声明直接在类中声明
getter和setter
在类中可以像在对象中那样定义setter和getter函数。
属性表达式
类的属性名可以用表达式
原型方法
在类中声明原型方法跟在对象中使用ES6简写方式声明方法类似
这样声明的函数实际上最终会被挂载到实例的原型对象上,作为原型方法。