Перейти к основному содержимому
Chapter content StyleChapter Difficulty5 min

Глава 0: Важное предисловие

Добро пожаловать в MyJS Web Docs! В рамках известной традиции среди разработчиков первая глава документации выпущена под номером "0".

Эта глава посвящена определению смысла и причины написания документации. Перед её прочтением следует понимать, что автор не считает этот материал истинно правильным в научном смысле этого слова. Это всего лишь попытка одного из тех, кто попытался назвать себя разработчиком в вебе, как можно ближе к первоисточнику привести некое "человеческое" описание стандарта, выполненное в формате документации, описывающей, чем же на самом деле является спецификация ECMAScript и как я её пытаюсь понять.

Это не профессиональная литература, а лишь попытка объяснить себе и всем читающим термины и их значения, вгоняющие в ступор разработчиков, не понимающих устройство данной спецификации, её особенностей и смысловых ловушек ввиду ошибочного сопоставления с чем-то вне рамок её действия. Зачастую люди могут путать как отдельные символы, так и целые конструкции ECMAScript с чем-то интуитивно похожим на что-то из своего прошлого опыта. Это порождает неправильное толкование терминов и, следовательно, всей информации, представленной в спецификации.

Источники

На страницах документации я буду предоставлять цитаты из известных источников, которые заслужили доверие у большого количества пользователей, и которые я считаю предельно экспертными. Среди них есть такие, как:

В основном ресурсы представляют из себя контент в формате английского языка. Мною будут взяты прямые цитаты из этих источников без изменений и, конечно, без переводов. Сразу же после них я буду давать свои комментарии без отрыва от контекста.

Для кого и зачем?

Документация не рассчитана на обучение начинающих разработчиков. Она вообще не про обучение. Я не являюсь грамотным специалистом в области обучения, а манера повествования не соответсвует минимальным требованиям учебной литературы. Это лишь мои комментарии по поводу прочтения спецификации, её "очеловечивание" на фоне всех тех непонятных символов и конструкций, которые там можно найти и неожиданно для себя запутаться.

Этот труд не рекомендуется читать начинающим специалистам и тем более тем, кто решил изучать JavaScript с нуля в качестве первого языка. К сожалению, в нашем мире этот высокоуровневый язык сверхвысоких абстракций некогда совершил непредвиденный эволюционный виток немного не в ту сторону.

В итоге вся мировая общественность получила JavaScript в таком "понятном" виде, что, копнув вглубь, даже опытные разработчики, приходя в лёгкий культурный шок, пытаются от безысходности, впопыхах объяснить поведение языка сквозь призму своего мультиязычного опыта, что ошибочно априори. И конечно, такая инициатива не идёт на пользу всем тем, для кого JavaScript — первый язык программирования.

Рекомендую к прочтению эту документацию уже сформировавшимся разработчикам.

Слова "маяки"

В целях разностороннего объяснения материала и раскрытия деталей многих тем я буду использовать разные слова, которые, по сути, будут обозначать один и тот же предмет разговора. Обращаю внимание на эти термины:

  • MyJS Web Docs: может называться, как "труд", "документация", "MyJS Web Docs", "MyJS" в словосочетаниях, например, "в этой документации", "этот труд", "в MyJS"
  • ECMAScript Language Specification: может называться, как "спецификация", "стандарт", "официальный документ" в словосочетаниях, например, "в спецификации", "в этом стандарте"
  • Алгоритмы языка ECMAScript: могут называться, как "алгоритмы", в словосочетаниях, например, "внутренние алгоритмы", "в алгоритмах языка", "различные алгоритмы"

Также имеют место быть слова, которые в процессе повествования намеренно подразумеваются в противоположном значении, например, слово "специалисты", выделенное двойными кавычками, подразумевает не специалистов в предложении:

Эти "специалисты" даже не знают, что такое предложение.


к сведению

Документация MyJS Web Docs является моей личной интерпретацией официальной спецификации ECMAScript от комитета TC39, и я не являюсь её разработчиком. В каком-то плане я лишь один из её исследователей-любителей, которому не безразличен дальнейший эволюционный путь спецификации. Я, как обычный человек, тоже могу ошибаться. Если таковое будет замечено, просьба, уведомить меня об этом в рамках правил свободной контрибуции.