var a = [1,2,3,4];
var b = [10,20,30,40];
console.log([a,b].length)
[a,b].some(function(x){ x.push(x.shift()) });
Я был очень удивлен, сегодня, когда этот код вызвалНет точки с запятой до [] вызывает ошибку в Javascript?
[a,b].some(function(x){ x.push(x.shift()) });
^
TypeError: Cannot call method 'some' of undefined
Очевидно, JavaScript «автоматическая вставка точка с запятой» не работает, как ожидалось здесь. Но почему?
Я знаю, что вы можете рекомендовать использовать ;
всюду, чтобы избежать чего-то подобного, но вопрос не в том, лучше ли использовать ;
или нет. Я хотел бы знать, что именно здесь происходит?
Посмотрите правила автоматической установки точки с запятой: http://es5.github.io/#x7.9 –
Вот правила - http://stackoverflow.com/questions/2846283/what-are-the-rules -for-javascripts-automatic-semicolon-insertion-asi –
Честно говоря, я думаю, что фактический ответ в приведенных выше ссылках не ниже ответов. –