rev*_*evy 5 javascript class watch ecmascript-6
假设我有一个定义如下的类:
class MyClass {
constructor (a) {
this.a = a;
}
_onPropertyChanged() {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
每当 MyClass 实例的属性“a”发生更改时,我都想在该实例上触发 _onPropertyChanged 方法。使用 ECMAscript 6 实现这一目标的最佳(性能最高)方法是什么?
没有“最佳”方法,实际方法始终取决于最终目标。
以其简单(且性能足够)的形式,它是:
class MyClass {
constructor (a) {
this.a = a;
}
get a() {
return this._a;
}
set a(val) {
this._a = val;
this._onPropertyChanged('a', val);
}
_onPropertyChanged(propName, val) {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)