【发布时间】:2017-09-13 15:32:53
【问题描述】:
假设我有一个定义如下的类:
class MyClass {
constructor (a) {
this.a = a;
}
_onPropertyChanged() {
// do something
}
}
每当 MyClass 实例的属性“a”发生变化时,我都想在该实例上触发 _onPropertyChanged 方法。 使用 ECMAscript 6 实现这一目标的最佳(最高性能)方法是什么?
【问题讨论】:
-
你为什么要这样做?您需要查看所有属性,还是只查看固定属性?
-
“最高性能”---“性能”不是系统的绝对属性。不过,可以比较给定环境中的多个实现。
-
a的分配可以使用访问器方法轻松跟踪,如答案所示。如果您想跟踪值是否不同等,问题将自动落入“太宽泛”的类别。性能变更检测是所有现代 JS 框架都必须解决的复杂任务。不要指望他们的经历可以用一个答案来解释。 -
查看Proxy
标签: javascript class ecmascript-6 watch