旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

Uncaught TypeError: Illegal invocation (JavaScript)

2011年1月25日

Chirome上のJavaScriptで、見慣れない、

Uncaught TypeError: Illegal invocation

というエラーが発生しました。
見慣れないエラーなので、ちょこっと調べました。

「ネイティブ関数の別名を作っちゃダメ!」エラー

ネイティブ関数の別参照を作ると発生するエラーとのことで、自分の場合は

var c = console.log;

の際に発生しました。
だめなものはダメなので、こういう風に書いちゃダメってことすねー。

ただ、この場合に限りなら、
意味合いは大分変わってしまいますが、

var c = function(value){console.log(value)};

とやれば、「console.logと書くのが面倒なので短くしたい」という目的は果たして、
エラーを回避できます。

Safariでも発生するようです。

参考) http://vidtaker.com/0/0437001