Как объяснить различную реакцию на выполнение следующего кода в разных браузерах?
var func = function() { console.log('1'); };
function func() { console.log('2'); }
func();
При выполнении в Opera 36.0.2130.32 выдается ошибка:
"SyntaxError: Identifier 'func' has already been declared
at https://static.jsbin.com/js/prod/run...min.js:1:13891
at https://static.jsbin.com/js/prod/runner-3.35.11.min.js:1:10820"
При выполнении в Firefox 44.0.2 ошибка не выдается, и в консоль выводится значение "2".
Вот ссылка на jsbin:
https://jsbin.com/hijobojawe/1/edit?js,console,output