私は次のようなコードを持っています:
obj.foo(); // obj might, or might not have a `foo` method.
obj.foo
コードでが呼び出されたときに何が起こるかをオーバーライドできるかどうかを知りたいです。次に例を示します。
obj.foo = function(){ alert ("Hello"); });
obj.onCallNonExistentMethod = function(){ // I know this is imaginary syntax
alert("World");
}
obj.foo(); // alerts "Hello"
delete obj.foo;
obj.foo(); // alerts "World" , would TypeError without the method missing handler.
私が理解していることから、Rubyではそれはmethod_missing
またはconst_missing
またはそれに類似したものになります。
JavaScriptで存在しないオブジェクトメソッドの呼び出しで何が起こるかをオーバーライドできますか?可能であれば、どうすればよいですか?
目標は、ユーザーに提供するAPIを検証して、ユーザーがAPIを安全に使用できるようにし、エラーについてより明確に警告できるようにすることです。