Class 是语法糖吗?背后发生了什么
为什么需要class
- 原型链复杂易混淆
- 模拟类和继承不够直观
- 初学者学习曲线陡峭
- 私有成员实现困难
- 旧语法难以实现真正私有
- 需要借助闭包等实现模拟
- 代码可读性差
- 原型链操作,函数嵌套多
- 结构不够清晰,可维护性差
class
是什么
class
的定义
- ES6 引入的新语法
- 用于定义“类”
- 创建对象和继承的更清晰的方式
- 有效提升代码的可读性和简洁性
class
的定义与基本用法
class
关键字constructor
构造函数- 实例属性
this.property
- 实例方法
- 静态方法
static
javascript
class MyClass {
// 构造函数
constructor(value) {
this.propetry = value; // 实例属性
}
// 实例方法
myMethod() {
console.log(this.propetry);
}
// 静态方法
static staticMethod() {
console.log('static method');
}
}