1. ホーム
  2. javascript

[解決済み] TypeError: console.log.apply で不正な呼び出しがありました。

2022-07-03 22:28:39

質問

クロームコンソールでこれを実行すると。

console.log.apply(null, [array])

Chromeはエラーを返します。

// TypeError: Illegal Invocation

なぜ? (OSX 経由で Chrome 15 でテストしました)

どのように解決するのですか?

実行コンテキストがコンソールから他のオブジェクトに変更された場合、動作しないことがあります。

console.infoは、その"this"参照がwindowではなくconsoleであることを期待しているため、これは予想されることです。 がウィンドウではなくコンソールであることを期待するからです。

console.info("stuff")
stuff
undefined
console.info.call(this, "stuff")
TypeError: Illegal invocation
console.info.call(console, "stuff")
stuff
undefined

この動作は想定内です。

https://bugs.chromium.org/p/chromium/issues/detail?id=48662