web-dev-qa-db-fra.com

TypeError: Illegal Invocation sur console.log.apply

Si vous l'exécutez dans la console chrome console:

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

Chrome vous renvoie une erreur:

// TypeError: Illegal Invocation

Pourquoi? (Testé sur Chrome 15 via OSX)

128
Jacksonkr

Cela peut ne pas fonctionner dans les cas où le contexte d'exécution est passé de la console à tout autre objet:

Ceci est attendu car console.info s'attend à ce que sa référence "this" soit console, pas window.

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

Ce comportement est attendu.

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

179
Pavel Podlipensky