JavaScript 类与构造函数详解
1. 类与构造函数基础
在 JavaScript 里,定义类有多种方式。示例 9 - 1 展示了一种简单定义类的方法,但它未定义构造函数,并非惯用做法。构造函数是用于初始化新创建对象的函数,通过 new 关键字调用,如下面代码所示:
// 这是一个初始化新 Range 对象的构造函数
// 注意它不创建或返回对象,只是初始化 this
function Range(from, to) {
// 存储这个新范围对象的起始和结束点(状态)
// 这些是该对象独有的非继承属性
this.from = from;
this.to = to;
}
// 所有 Range 对象都继承自这个对象
// 注意属性名必须是 "prototype" 才能正常工作
Range.prototype = {
// 如果 x 在范围内返回 true,否则返回 false
// 此方法适用于文本和日期范围以及数字范围
includes: function(x) { return this.from <= x && x <= this.to; },
// 一个生成器函数,使类的实例可迭代
// 注意它仅适用于数字范围
[Symbol.iterator]: function*() {
for(let x = Math.ceil(this.from); x <= this.to; x++) yield x;
},
// 返回范围的字符串表示形式
超级会员免费看
订阅专栏 解锁全文
2040

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



