この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

console.log.applyでillegal invocationエラー

Chrome

var name = "log";
console[name].apply(window, [1, 2, 3])

とかやると、

TypeError: illegal invocation

と怒られます。


ネイティブの関数はapplyを使えないのかな?と思って調べた所、

var name = "log";
console[name].apply(console, [1,2,3])

とやれば動きました。thisにconsoleを指定する必要があるということです。