JavaScript 类与原型、访问器和生成器的深度解析
1. 用类扩展现有原型
在 JavaScript 中,类和原型有着紧密的联系。理解它们之间的关系,有助于我们更好地将新的类语法与现有代码集成。
1.1 JavaScript 类与传统面向对象语言的区别
传统面向对象语言(如 Ruby)中,类是对象的蓝图,创建新实例时会复制所有属性和方法到新对象。而 JavaScript 是原型语言,创建新实例时不会复制方法,而是创建一个指向原型的链接。当调用对象实例的方法时,实际上是从原型中调用,原型本身也是一个对象实例,并非蓝图。
1.2 构造函数创建对象实例
在 ES5 之前的 JavaScript 中,使用 new 关键字创建新对象实例时会用到构造函数。构造函数与类的构造方法非常相似,这表明新语法可以很好地与旧代码集成。
以下是使用构造函数创建 Coupon 对象的示例:
function Coupon(price, expiration) {
this.price = price;
this.expiration = expiration || 'two weeks';
}
const coupon = new Coupon(5, 'two months');
console.log(coupon.price); // 5
使用构造函数创建对象实例时,虽然可以绑定 this 上下文,但
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



