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?

questionAnswers(2)

yourAnswerToTheQuestion