Я искал некоторую информацию относительно фрагментированного 4-го Выпуска ECMAScript без большого успеха, даже на ТАК. Я знаю, что JavaScript 1.7 Mozilla реализовал многих (все?) новых возможностей, предлагаемых в 4-м Выпуске и я думал, что помнил хорошее сообщение John Resig на нем, но я, может казаться, не нахожу его на его блоге теперь.
В особенно, я хочу знать, почему это было полностью фрагментировано в пользу ECMA-262 5-й Выпуск и почему это не было просто улучшено. Некоторые функции довольно прохладны, как генераторы, итераторы, позволяют, новые операторы присваивания и (мой конкретный фаворит) destructuring присвоение.
Я знаю, что все те конкретные функции просто бросили бы ошибки в браузеры с устаревшими реализациями ECMAScript, но почему бы не включать их так или иначе с knowlege, что однажды те реализации будут немногочисленны? Были ли также другие причины? Мы, вероятно, будем видеть, что некоторые фрагментированные функции вновь появляются в будущем выпуске или поставщики так боимся повреждающейся совместимости, что мы никогда не будем, вероятно, видеть такие улучшения стандарта?
Как в стороне, было бы хорошо знать некоторые мнения о вопросе, Вы раздражаетесь для наблюдения некоторых функций, сокращенных из 5-го Выпуска, или Вы думаете, что это лучше этот путь? Действительно ли это стоит играть вокруг с реализациями ECMAScript 4?
Проще говоря, не было ECMAScript 4th Edition. Из спецификации 5-го издания :
Значительная работа была проделана для разработки четвертого издания ECMAScript. Хотя эта работа не была завершена и не опубликована как четвертое издание ECMAScript, она сообщает о продолжающейся эволюции языка. Настоящее пятое издание ECMAScript (опубликованное как ECMA-262 5-е издание) кодифицирует фактические интерпретации спецификации языка, которые стали обычными для реализаций браузеров, и добавляет поддержку новых функций, появившихся после публикации третьего издания.
По сути, было много очень сильных мнений о том, как продвигать JavaScript вперед, многие из которых были несовместимы, некоторые из которых в основном были собраны в то, что, как некоторые думали, станет 4-м изданием, прежде чем все развалилось (не в последнюю очередь потому, из-за отсутствия поддержки со стороны некоторых важных разработчиков). Между тем, новая редакция стандарта была очень, очень запоздалой, и поэтому после долгих предварительных переговоров различные стороны собрались в Осло в июле 2008 года и согласовали дальнейшие шаги (Брендан Эйх [изобретатель JavaScript] позже назвал этот подход « Гармония » при написании).
Harmony отложил некоторые вещи, убрал некоторые из них навсегда (пространства имен, пакеты, раннее связывание) и, что важно, позволил комитету продвинуться вперед с первым обновлением спецификации с 1999 года: 5-м изданием.
Если у вас есть свободные 55 минут на эту тему, см. видео Дуглас Крокфорд: «Состояние и будущее ECMAScript» или стенограмму .
По сути, это превращалась в кухонную мойку со слишком большим количеством функций, которые нельзя было реализовать.
В интервью Coders At Work было некоторое обсуждение, двое из интервьюируемых были на противоположных сторонах этого вопроса.
Похоже, это привело к фундаментальным разногласиям по поводу того, что должен содержать язык между теми, кто работает над v4, и некоторыми другими уважаемыми членами сообщества.
(кстати, я настоятельно рекомендую эту книгу)