私はこのようなクラスがあります:私は同じ時間(何かを有効/無効にする必要はありません)で2つの構文の両方を使用したい同じ名前のオブジェクト内にプロパティ(フィールド)とメソッドを含めることはできますか?
let enabled = false;
class List {
constructor (...args) {
this.args = args;
}
get Count() {
if (enabled) {
let _this = this;
return() => _this.args.length;
}
return this.args.length;
}
}
let list = new List('a', true, null);
// 'Count' is not a method/function by default
console.log(list.Count); // 3
// do something to enable this flag:
enabled = true;
// 'Count' is a method now
console.log(list.Count()); // 3
を。
console.log(list.Count); // 3
console.log(list.Count()); // 3
私はそれを行うことはできますか?そしてどうやって?ありがとうございました!
おそらくプロキシオブジェクトを使用 –
理由を説明できますか? – robertklep
@robertklep私はC#の背景から来て、私はC#の構文と同じかどうかjsで何かできるか知りたいので。私は答えを見つけた:いいえ。 – Vayne