Почему console.log не работает при передаче в качестве параметра forEach?

Это просто из любопытства, но кто-нибудь из вас знает, почему этот код не будет работать?

[1, 2, 3, 4, 5].forEach(console.log);

// Prints 'Uncaught TypeError: Illegal invocation' in Chrome

С другой стороны, это работает нормально:

[1, 2, 3, 4, 5].forEach(function(n) { console.log(n) });

Итак... ?

25
задан James Ko 1 January 2016 в 23:03
поделиться