Cuando asigno console.log
a una variable en node.js funciona bien,
var l = console.log
l(1) # outputs 1
Sin embargo, si hago lo mismo en las herramientas de desarrollo de Chromium 30 ",
var l = console.log
l(1) # TypeError: Illegal invocation
¿Por qué no funciona en las herramientas de desarrollo de Chromium? ¿Por qué estoy recibiendo,
TypeError: Invocación ilegal
Respuestas
6 para la respuesta № 1Exactamente por qué este requisito está en su lugar, no lo sé, pero supongo que Chrome "s console.log
requiere el valor de this
ser console
. Si desea almacenarlo en una variable, tendrá que vincular el valor de this
:
var l = console.log.bind(console);
4 para la respuesta № 2
La consola de Node.js hace console.log = console.log.bind(this)
en constructor.