En Internet Explorer 9 (y 8), el console
objeto solo se expone cuando las herramientas de desarrollador se abren para una pestaña en particular. Si oculta la ventana de herramientas del desarrollador para esa pestaña, el console
objeto permanece expuesto para cada página a la que navega. Si abre una pestaña nueva, también debe abrir las herramientas de desarrollador para esa pestaña para queconsole
objeto quede expuesto.
El console
objeto no forma parte de ningún estándar y es una extensión del Modelo de Objetos del Documento. Al igual que otros objetos DOM, se considera un objeto host y no se requiere que herede Object
, ni sus métodos Function
, como lo hacen las funciones y objetos ECMAScript nativos. Esta es la razón apply
y call
no están definidos en esos métodos. En IE 9, la mayoría de los objetos DOM se mejoraron para heredar de tipos ECMAScript nativos. Como las herramientas de desarrollo se consideran una extensión de IE (aunque sea una extensión incorporada), claramente no recibieron las mismas mejoras que el resto del DOM.
Para lo que vale, aún puede usar algunos Function.prototype
métodos en console
métodos con un poco de bind()
magia:
var log = Function.prototype.bind.call(console.log, console);
log.apply(console, ["this", "is", "a", "test"]);
//-> "thisisatest"