| Стандарт ECMA-262, 3я редакция© Ecma International 1999.Перевод стандарта ECMA-262, 3rd edition 1999.
 Данный перевод является официальным и согласован с ECMA. Скачать оффлайн-вариант в формате CHM Краткая историяЭтот стандарт ECMA основан на нескольких технологиях, самые известные из которых - JavaScript (Netscape) и JScript (Microsoft). Язык был изобретен Brendan Eich в Netscape и впервые появился в браузере этой компании Navigator 2. В дальнейшем он присутствовал во всех браузерах от Netscape и всех - от Microsoft, начиная с Internet Explorer 3.0, и так - до наших дней. Разработка этого стандарта началась в ноябре 1996г. Первая редакция стандарта ECMA была принята общим собранием ECMA в июне 1997г. Стандарт ECMA был отослан в ISO/IEC JTC 1 для быстрого согласования  и одобрен как международный стандарт ISO/IEC 16262 в апреле 1998г. В июне 1998 года общее собрание ECMA одобрило вторую редакцию ECMA-262, чтобы поддерживать соответствие с ISO/IEC 16262. Изменения между первой и второй редакцией - по сути редакторские правки. Настоящий документ описывает третью редакцию стандарта и включает в себя мощные регулярные выражения, улучшенную поддержку строк, новые управляющие конструкции, обработку исключений try/catch, конкретизированное определение ошибок, форматирование при численном выводе и небольшие изменения для приближающейся интернационализации и будущего роста языка. Работа над языком не завершена. Технический комитет работает над значительными улучшениями, включая механизмы для создания и использования скриптов в интернет и улучшенную координацию с другими разработчиками стандартов, такими как группы в консорциуме W3C и Wireless Application Protocol Forum. Этот стандарт был принят как 3-я редакция ECMA-262 общим собранием ECMA
  в декабре 1999 года. Спецификация ECMA. Содержание
    Дополнительно: Глоссарий англоязычных терминов.1. Сфера применения2. Соответствие3. Ссылки
      4. Общее описание
        4.1 Скрипты для Web
          4.2 Общее описание языка
        
          4.3 Определения
        
      5. Соглашения о наименованиях
        
          5.1 Синтаксические и лексические грамматики
            5.1.1 Контекстно-свободные грамматики5.1.2 Лексические и регулярные грамматики5.1.3 Численная строковая грамматика5.1.4 Синтаксическая грамматика5.1.5 Нотация грамматики5.2 Соглашения по алгоритмам6. Исходный текст
      7. Лексические соглашения
        7.1 Символы форматирования Юникода7.2 Пробел7.3 Разделители строк7.4 Комментарии
          7.5 Токены
            7.5.1 Зарезервированные слова7.5.2 Ключевые слова7.5.3 Слова, зарезервированные для будущего использования7.6 Идентификатор7.7 Знаки препинания
          7.8 Литералы
            7.8.1 Литералы Null7.8.2 Булевские литералы7.8.3 Числовые литералы7.8.4 Строковые литералы7.8.5 Литералы регулярных выражений
          7.9 Автоматическая вставка точек с запятыми
            7.9.1 Правила автоматической вставки точек с запятыми7.9.2 Примеры автоматической вставки точек с запятой
      8. Типы
        8.1 Тип Undefined8.2 Тип Null8.3 Тип Boolean8.4 Тип String8.5 Тип Number
          8.6 Тип Object
            8.6.1 Атрибуты свойства8.6.2 Внутренние свойства и методы
          8.7 Тип Reference
            8.7.1 ПолучитьЗначение(V)8.7.2 ЗаписатьЗначение(V, W)8.8 Тип List8.9 Тип Completion
      9. Преобразование типов
        9.1 ToPrimitive9.2 ToBoolean
          9.3 ToNumber
          
            9.3.1 ToNumber применённый к типу String9.4 ToInteger9.5 ToInt32: (Знаковое 32-разрядное целое)9.6 ToUint32: (Беззнаковое 32-разрядное целое)9.7 ToUint16: (Беззнаковое 16-разрядное целое)
          9.8 ToString
          
            9.8.1 ToString применённый к типу Number9.9 ToObject
      10. Контексты исполнения
        
          10.1 Определения
            10.1.1 Объекты типа Function10.1.2 Типы исполняемого кода10.1.3 Инициализация переменных10.1.4 Иерархия областей видимости и разрешение идентификаторов10.1.5 Глобальный объект10.1.6 Объект активации10.1.7 This10.1.8 Объект аргументов
          10.2 Вход в контекст исполнения
        
      11. Выражения
        
          11.1 Первичные выражения
        
          11.2 Левосторонние выражения
        
          11.3 Постфиксные выражения
            11.3.1 Постфиксный оператор инкремента11.3.2 Постфиксный оператор декремента
          11.4 Унарные операторы
        
          11.5 Мультипликативные операторы
        
          11.6 Синтаксис аддитивных операторов
            11.6.1 Оператор сложения ( + )11.6.2 Оператор вычитания ( - )11.6.3 Действие аддитивных операторов ( +, - )  в применении к объектам типа Number
          11.7 Операторы побитового сдвига
            11.7.1 Оператор сдвига влево ( << )11.7.2 Оператор знакового сдвига вправо ( >> )11.7.3 Оператор беззнакового сдвига вправо ( >>> )
          11.8 Операторы отношения
            11.8.1 Оператор меньше-чем ( < )11.8.2 Оператор больше-чем ( > )11.8.3 Оператор меньше или равно ( <= )11.8.4 Оператор больше-или-равно ( >= )11.8.5 Абстрактный алгоритм сравнения для отношений11.8.6 Оператор instanceof11.8.7 Оператор in
          11.9 Операторы равенства
            11.9.1 Оператор равенства ( == )11.9.2 Оператор не-равно ( != )11.9.3 Абстрактный алгоритм сравнения для равенств11.9.4 Оператор строгого равенства ( === )11.9.5 Оператор строгого неравенства ( !== )11.9.6 Алгоритм сравнения строгого равенства11.10 Двоичные побитовые операторы11.11 Бинарные логические операторы11.12 Условный оператор ( ?: )
          11.13 Операторы присваивания
            11.13.1 Простое присваивание ( = )11.13.2 Составное присваивание ( op= )11.14 Оператор-запятая ( , )
      12. Инструкции
    
      13. Определение функции
        
          13.1 Определения
            13.1.1 Тождественные правила грамматики13.1.2 Объединённые объекты
          13.2 Создание объектов типа Function
        14. Программа
      15. Встроенные объекты ECMAScript
        
          15.1 Глобальный объект
            15.1.1 Свойства-значения глобального объекта15.1.2 Свойства-функции глобального объекта15.1.3 Свойства-функции для обработки URI15.1.4 Свойства-конструкторы глобального объекта15.1.5 Другие свойства глобального объекта
          15.2 Объекты Object
            15.2.1 Вызов конструктора Object как функции15.2.2 Конструктор Object15.2.3 Свойства конструктора Object15.2.4 Свойства объекта-прототипа Object15.2.5 Свойства экземпляров Object
          15.3 Объекты типа Function
            15.3.1 Вызов конструктора Function как функции15.3.2 Конструктор Function15.3.3 Свойства конструктора Function15.3.4 Свойства объекта-прототипа Function15.3.5 Свойства экземпляров Function
          15.4 Объекты Array
            15.4.1 Вызов конструктора Array как функции15.4.2 Конструктор Array15.4.3 Свойства конструктора Array15.2.4 Свойства объекта-прототипа Array15.4.5 Свойства экземпляров Array
          15.5 Объекты типа String
            15.5.1 Вызов конструктора String как функции15.5.2 Конструктор String15.5.3 Свойства конструктора String15.5.4 Свойства объекта-прототипа String15.5.5 Свойства экземпляров String
          15.6 Объекты типа Boolean
            15.6.1 Вызов конструктора Boolean как функции15.6.2 Конструктор Boolean15.6.3 Свойства конструктора Boolean15.6.4 Свойства объекта-прототипа Boolean15.6.5 Свойства экземпляров Boolean
          15.7 Объекты типа Number
            15.7.1 Вызов конструктора Number как функции15.7.2 Конструктор Number15.7.3 Свойства конструктора Number15.7.4 Свойства объекта-прототипа Number15.7.5 Свойства экземпляров Number
          15.8 Объект Math
            15.8.1 Свойства-значения объекта Math15.8.2 Свойства-функции объекта Math
          15.9 Объекты типа Date
            15.9.1 Общие сведения об объектах типа Date и определения внутренних операторов15.9.2 Вызов конструктора Date как функции15.9.3 Конструктор Date15.9.4 Свойства конструктора Object15.9.5 Свойства объекта-прототипа Date15.9.6 Свойства экземпляров Date
          15.10 Объекты типа RegExp (регулярные выражения)
        
          15.11 Объекты Error
            15.11.1 Вызов конструктора Error как функции15.11.2 Конструктор Error15.11.3 Свойства конструктора Error15.11.4 Свойства объекта-прототипа Error15.11.5 Свойства экземпляров Error15.11.6 Встроенные типы ошибок, использованные в данном стандарте15.11.7 Структура объекта типа NativeError16. ОшибкиПриложение A - Описание грамматикПриложение B - Совместимость | 
хм, я в js нубяра(( поэтому Х что пойму...но исправлюсь и тогда оставлю более информационносодержащий камент)
Умоляю, сделайте многостраничный PDF, чтобы был всегда рядом в смартфоне и на досуге можно было бы почитать или залезть как в справочник.
Материал хороший. Но хотелось бы видеть его в pdf или другом виде. Просто доступ в Интернет не всегда есть под рукой.
Благодарю Вас за этот труд! Очень полезное чтение, проясняет лучше некуда.
----------------------------------------
window.open(window.location);
Спасибо огромное авторам перевода.
Благодарю за портабл версию =)
"этот комментарий анонима" .
.
Здесь не зарегистрирован. Вы еще карательные операции проводите что ли
Да, насчет ссылок погорячился, большинство работает. Может с первого раза попались нерабочие, но 11.13.2 точно не работает, вроде еще были.
"Пдф читабельный"
Я и не утверждал обратного, прочитать можно.
"Перевод счёл очень качественным"
Как Вы думаете, приведенная ниже часть текста написана по-русски? Т.е. не просто кириллицей с использованием слов русского языка.
А вообще, смысл всего выше написанного в том, что если уж решили потратить время на перевод, то можно было подойти к этому делу более ответственно. Тем более что: "Данный перевод является официальным и согласован с ECMA".
> Как Вы думаете, приведенная ниже часть текста написана по-русски? Т.е. не просто кириллицей с использованием слов русского языка.
Это технический перевод алгоритмов, много специальных внутренних терминов, названий свойств. Оформлять такой перевод художественно (понятно) - преступление. К слову, оригинальный текст не менее сложен.
Это - адекватный перевод оригинального текста. Именно адекватный, в смысле, принятом у проф. переводчиков.
Выделенный вами отрывок текста переведен очень грамотно. Не хуже перевода Д. Кнута от издательства "Мир".
Компиляторы-трансляторы... нормально все написано, кто не поймет, вернется к статье позже, для людей с методом роботы копипаст, статья возможно не подойдет, для тех кто варит, не по памяти, а реально оказавшись в ситуации - все нормально!
"Этот стандарт ECMA основан на нескольких технологиях, самые известные из которых - JavaScript (Netscape) и JScript (Microsoft)." - а не наоборот?
Не наоборот. Сначала появились языки, за ними стандарт.
Возможно использование двух форма порядка. 1. Хронологическая (кто появился первый, кто позже, кто последний); 2. Проблемно-ориентационная (перечисление по необходимости).
UPDATE: свежая оффлайн-версия. Формат CHM вместо PDF по многочисленным просьбам.
Пожалуйста, выкладывайте так же и PDF, если вам не трудно :-)
Может, посоветуете конвертер из CHM в PDF ?
где сам chm то? удалось скачать пдф, но для быстрой навигации он менее удобен
нашёл, прошу прощения =)
Спасибо. очень нужный перевод.
Собираюсь включить переработанную (адаптированную/упрощенную/приглаженную) версию данного описания в комплект документации QtScript-фреймворка QDroid в одном из следующих релизов. Обратная ссылка будет присутствовать в обязательном порядке.
PS: QtScript - это скриптовый язык основанный на ECMA-262 (с некоторыми дополнениями) для использования в программах написанных с использованием библиотеки QT и C++.
PPS: ещё раз спасибо авторам за перевод.
UPDATE: оффлайн версия 1.1
Хороший перевод. Чертовски хороший перевод, хотя некоторые "индивидуумы", теоретически со мной могут не согласиться, ввиду неприятия подобного языка изложения. Но у меня для них есть сюрприз - в оригинале такой же язык изложения. ))
))
В общем - респект. Все в одном месте. Это здорово))). Буду использовать как шпаргалку - таки всего не упомнишь, да и не надо оно до поры до времени, зачастую...
Не подскажете, 5-я редакция сильно отличается от данного перевода?
Подскажите пожалуйста, что означает такая конструкция кода:
rocket.params =
{
direction: { 'x': 1, 'y': 1},
borders:
{
'x': document.body.clientWidth - rocket.offsetWidth,
'y': document.body.clientHeight - rocket.offsetHeight
}
}
rocket.params - это объект, а direction, borders - это его свойства?
что за подлость? и зачем мне в линуксе и моей читалке chm? верните pdf, или хотя бы выкладывайте оба варианта! =(
А есть где-то перевод 5ой редакции?
Пятая редакция вышла, а вот перевода нету. Когда же? и желательно в pdf бы...
Данный перевод является официальным и согласован с ECMA
Илья, это вы переводили эту документацию на русский?
Это вся полезная информация ECMA-262 потому что я был так занят игрой в tunnel rush что многое пропустил. мне нравится этот пост