> Из-за интерпретации формальный синтаксис у JS проверяется только там, где происходит выполнение.Ну здаровьте живете, если на JS не пишите то чего говорите то? Во первых он не интерпретируется а компилируется, во вторых синтаксис таки проверяется везде:
if (true) {
alert(1);
}
else {
alert(2;
}
Ошибка: SyntaxError: missing ) after argument list - alert(2;
Почему же? Если не использовать массивы и другие хаки, то можно быть уверенным в том...
Массивы это хаки? Выдыхай бобер) Это очень часто используемая конструкция, дело даже не в их передаче а в работе с ними, например очень часто приходится работать с кусками памяти, выделять из нее значения накладывая структуры и приводя типы, так вот если вы гденить размер какогонить поля в структуре измените без соответствующего рефакторинга остальных кусков, то нифига компилятор ваш этого не просечет и вывалит ошибку времени исполнения, хотя формально по типам все верно) и таких мест хренова куча.