特殊なゲッター/セッターを使用して、オブジェクトのプロパティに対する変更をインターセプトしています。しかし、私はHTMLInputElement.value
やArray.length
のような組み込みのプロパティに同じアイデアを採用することができたら、を好きになるだろうが、残念なことにこれらは設定不可能なものとして定義されているので、ゲッター/セッターを使って再定義しようとするとエラーが発生する。ネイティブの構成解除可能なプロパティにJavaScriptゲッター/セッターを追加します。
私は内部的な操作を壊さずにこれらを強制的に再定義するために何らかの(信頼性の高い)ハックがあるかどうか疑問に思っています。
もしそうでなければ、おそらくネイティブプロパティにマップして代わりに使用するこれらすべての代替プロパティを定義する必要がありますが、これはあまり理想的ではありません。どのような方法をお勧めではありませんが、あなたが本当にする必要がある場合は、それらの機能は、その試作品レベルで定義されている
うん、正確に、彼らはあなたが彼らの定義を変更することはできませんつまり、構成不可能として定義されています。その周りに道があれば好奇心が強い。 – devios1
[] .lengthは関数ではありません。 – Michael
はい、読み取り専用でない場合は、1つとして書き直すことができます –