Node vs Chrome, assignation de console.log à une variable?

Quand console.log à une variable de node.js, cela fonctionne très bien,

 var l = console.log l(1) # outputs 1 

Cependant, si je fais la même chose avec les outils de développement de Chrome 30,

 var l = console.log l(1) # TypeError: Illegal invocation 

Comment ça se fait que ça ne marche pas dans les outils de développement de Chromium? Pourquoi je reçois,

TypeError: Invocation illégale

Je ne sais pas exactement pourquoi cette exigence est en place, mais j’imagine que le console.log de Chrome requirejs que la valeur de this soit console . Si vous voulez le stocker dans une variable, vous devrez lier la valeur de this :

 var l = console.log.bind(console); 

La console Node.js fait console.log = console.log.bind(this) dans le constructeur .