たとえば、標準Date
またはMath
オブジェクトを自分のものに置き換えたいとします。JavaScript:標準のビルトインオブジェクトをオーバーライドすることはできますか?
instanceof
またはのような微妙な問題が発生することはわかっていますが、置き換えられたすべての既知の一般的な動作が真似されているとしましょう。規格はそのような行動を許可していますか?
たとえば、標準Date
またはMath
オブジェクトを自分のものに置き換えたいとします。JavaScript:標準のビルトインオブジェクトをオーバーライドすることはできますか?
instanceof
またはのような微妙な問題が発生することはわかっていますが、置き換えられたすべての既知の一般的な動作が真似されているとしましょう。規格はそのような行動を許可していますか?
標準ではこのような動作が許可されていますか?
はい。コンソール、日付などのネイティブオブジェクトのメソッドをオーバーライドすることはできますが、Math
のようなプロトタイプを持っていない人はunpreventableではありません。例えば
、
Date.prototype.getDate = function(){ return 5 }; //overriding getDate method
new Date().getDate() //returns 5
私はネイティブオブジェクトを変更できることを理解していますが、これを行うことができます: 'window.Date = MyDate' –
グローバルスコープのものはすべて変更できます。 – gurvinder372
は 'スタンダールは、そのような行為を許可していますか?'はい。 – gurvinder372
推奨されていませんが、可能です。 –
"主に意見に基づく"と結論づけている人には決定的な答えがある質問です。なぜPOBとして投票を終了することに投票していますか? –