JS 类

es5 与 es6 类的区别

  1. es5 类定义的方法是可枚举的,es6 类定义的方法不可枚举
  2. es5 构造函数可以作为函数单独执行,es6 类不可以单独执行,必须使用 new 关键字
  3. es6 类不存在变量提升(hoist),这一点与 ES5 完全不同。

类的 get 和 set

存值函数和取值函数是设置在属性(访问器属性)的 Descriptor 对象上的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class CustomHTMLElement {
constructor(element) {
this.element = element;
}

get html() {
return this.element.innerHTML;
}

set html(value) {
this.element.innerHTML = value;
}
}

var descriptor = Object.getOwnPropertyDescriptor(
CustomHTMLElement.prototype, "html"
);

"get" in descriptor // true
"set" in descriptor // true
Yvan Zhu wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
0%