Skip to content

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');
  }
}

为什么需要class语法糖

class的基础用法

class真的是“类”吗

class背后的机制

尘埃虽微,积之成集;问题虽小,记之为鉴。 雾中低语,心之所向;思绪飘渺,皆可成章。