/ / Node vs Chrome, ¿asignando console.log a una variable? - node.js, google-chrome, v8, chromium, console.log

¿Nodo vs Chrome, asignando console.log a una variable? - node.js, google-chrome, v8, chromium, console.log

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 № 1

Exactamente 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.