Error de invocación ilegal cuando console.log pasó en una función
Estoy un poco confundido sobre esto. Por favor, encuentre el código de la siguiente manera.
var o={
printToConsole: function(f){
f(1);
}
};
o.printToConsole(console.log);
//TypeError: Illegal invocation
// Obtengo un TypeError
De la definición de console.log obtenemos esto
`function log() { [native code] }`
En Chrome, que muestra claramente que no requiere ningún argumento, aunque cuando intentamos imprimir cosas en la consola escribimos así, es decir, pasamos el argumento a console.log.
console.log('Take me on Console');
¿Por qué obtengo este TypeError y cómo este console.log se comporta en Chrome?