JavaScript でネイティブ文字列にゲッターを設定しようとしていますが、うまく動作しないようです。これは可能ですか?
var message = "foo";
message.__defineGetter__("length", function() {
return 3;
});
(これはターミナルでの作業用です)
JavaScript でネイティブ文字列にゲッターを設定しようとしていますが、うまく動作しないようです。これは可能ですか?
var message = "foo";
message.__defineGetter__("length", function() {
return 3;
});
(これはターミナルでの作業用です)
あなたの質問は少し奇妙です。関心のあるプロパティが既にアクセス可能であるのに、なぜゲッターを設定する必要があるのでしょうか?
とは言っても、JavaScript が適切に動作するためには、ECMAscript の仕様が示すとおりにする必要があるため、あるものとそうでないものがあります。文字列のlength
プロパティは不変プロパティの例ですが、ほとんどのtoString()
プロパティは完全に変更可能です (非常に有害な結果をもたらします)。
したがって、本当の問題は、「ECMAscript仕様を覆す必要があることを何をしようとしているのか」です=)