私はこの(非常に単純な)コードを持っています:
Array.prototype.test = function(x) { alert(x) }
[0].test('Hello, World!')
ただし、実行すると、次のようになります。
TypeError: Cannot call method 'test' of undefined
なにが問題ですか?
私はこの(非常に単純な)コードを持っています:
Array.prototype.test = function(x) { alert(x) }
[0].test('Hello, World!')
ただし、実行すると、次のようになります。
TypeError: Cannot call method 'test' of undefined
なにが問題ですか?
この奇妙なエラーに遭遇しましたが、最終的に解決策はセミコロンを追加することであることがわかりました:
Array.prototype.test = function(x) { alert(x) };
[0].test('Hello, World!');
それ以外の場合は、次のように解析されます。
Array.prototype.test = function(x) { alert(x) }[0].test('Hello, World!')
function(x) { alert(x) }[0]
関数オブジェクトには と呼ばれるプロパティがないため、 は定義されていないため、次0
のようになります。
Array.prototype.test = undefined.test('Hello, World!')
test
次に、 onを呼び出そうとしますがundefined
、もちろん実行できないため、エラーが発生します。