console.log () chamado no objeto que não seja console
Eu lembro que sempre que eu queria passarconsole.log
como parâmetro de retorno de chamada para alguma função, não funcionava, a menos que eu usasse obind()
método para ligarconsole
para isso.
Por exemplo:
const callWithTest = callback => callback('test');
callWithTest(console.log); // That didn't use to work.
callWithTest(console.log.bind(console)); // That worked (and works) fine.
VejoTypeError não capturado: invocação ilegal em javascript.
No entanto, recentemente notei queconsole.log()
funciona bem mesmo quando chamado em outro objeto que não o console. Por exemplo:
console.log.call(null, 'test');
logs'test'
.
Quando e por que isso mudou? A especificação diz algo sobre isso?