Когда появился JavaScript, он воспринимался как дополнительная опция, которую Netscape добавила в браузер. Многие программисты поначалу отмахивались от него, но позже заметили его дальновидные функции, такие как лямбда-выражения и функции, как первоклассные объекты, пока они не стали мейнстримом. 4 декабря 2022 года, спустя 27 лет, все изменилось. Веб-приложения являются наиболее распространенным средством взаимодействия людей с компьютерным миром. Здесь JavaScript стал основой для веб-приложений. В настоящее время он используется на 94,5% всех веб-сайтов, и многие серверные приложения также написаны с использованием JavaScript.
JavaScript поддерживает большую часть синтаксиса программирования из языка C. Например, операторы if, циклы while, операторы switch, циклы do while и т. д. Одним из частичных исключений является область видимости: изначально JavaScript имел область видимости только с помощью var; область видимости блока была добавлена в ECMAScript 2015 с ключевыми словами let и const. Как и C, JavaScript делает различие между выражениями и утверждениями. Одним из синтаксических отличий от Си является автоматическая вставка точки с запятой, которая позволяет опускать точки с запятой (завершающие операторы).
Может показаться неожиданным, что так много функций не прошли процесс стандартизации, когда ECMAScript 4 потерпел неудачу. В этом смысле важно отметить, что многие из инвазивных функций ECMAScript 4 не были пересмотрены (пространства имен, необязательная типизация), в то время как другие были переосмыслены таким образом, чтобы они могли преодолеть предыдущие возражения (превращение классов поверх прототипы). Тем не менее, ECMAScript 2015 был трудным словом, и на его завершение ушло почти 6 лет (и еще больше на полное внедрение). Однако тот факт, что технический комитет ECMAScript смог выполнить такую сложную задачу, был расценен как хороший знак грядущих событий.
JavaScript повсюду, и последний год подряд он был одним из наиболее часто используемых языков программирования в мире. На сегодняшний день он использовался для создания 95,2% (1,52 миллиарда) веб-сайтов, включая некоторые из крупнейших в мире сайтов, таких как Facebook, YouTube и т. д. Без него у нас не было бы таких веб-приложений, как Google Maps и eBay. JavaScript - язык сценариев, в основном клиентский язык до появления Node.js, позволяющий JavaScript выполнять код на серверах. Классы, let, const, обещания, генераторы, итераторы, модули и т. д. Все эти функции предназначены для расширения аудитории JavaScript и помощи в программировании в целом.
Разница JavaScript и Java
Часто возникает некоторая путаница, однако JavaScript и Java совершенно разные. Название языка произошло от поддержки Netscape апплетов Java в своем браузере. Также говорят, что это был маркетинговый ход, чтобы отвлечь внимание от Java, который был самым важным языком в то время. Для запуска программ на Java код должен быть сначала скомпилирован в исполняемую форму.
С другой стороны, JavaScript был создан для интерпретации во время выполнения. Это делает его гораздо более динамичным. JavaScript поначалу начинался не очень хорошо. Он также не работал, и те, кто разрабатывал на Java, считали JavaScript скорее клеем пользовательского интерфейса, который использовали дизайнеры и другие непрограммисты. Но реальность такова, что наличие связующего языка позволило интернету процветать. Программисты могли лучше реагировать на использование событий и создавать интерактивные компоненты, что сделало JavaScript популярным во всем мире.
Как, когда и кем был создан JavaScript
В сентябре 1995 года программист Netscape Брэндан Эйх создал новый язык сценариев всего за 10 дней. Первоначально он назывался Mocha, но вскоре стал известен как LiveScript, а 4 декабря 1995 года - как JavaScript. В 1997 году из-за быстрого роста JavaScript стало ясно, что язык необходимо должным образом поддерживать и управлять им. Поэтому Netscape передала работу по созданию языковой спецификации Европейской ассоциации производителей компьютеров (ECMA), органу, созданному для стандартизации вычислений.
Спецификации ECMA были помечены как ECMA-262, а языки ECMAScript включали JavaScript, JScript и ActionScript. В период с 1997 по 1999 год у ECMA-262 было три версии, но почти 10 лет спустя от версии 4 отказались из-за различных мнений о направлении языка и его предлагаемых функциях.
Многие из этих противоречивых функций: генераторы, итераторы и присваивания деструктурирования, включены в более поздние спецификации ECMAScript.
Начало 2000 г. - Microsoft переворачивает стандартизацию. Обладая 95-процентной долей рынка с Explorer, Microsoft прекращает сотрудничество с ECMA International над своим языком JScript, поскольку JScript стал сценарием на стороне клиента по умолчанию. Это останавливает дальнейшую стандартизацию. Сентябрь 2002 г. - Firefox меняет игру стандартизации. Mozilla, преемник Netscape, выпускает браузер Firefox, который в конечном итоге снова привел к подъему JavaScript. Firefox был популярным браузером, который начал отбирать долю рынка у Internet Explorer. В 2004 году Mozilla начинает работать с ECMA International над стандартизацией, но новые спецификации не публикуются из-за постоянного отказа Microsoft от сотрудничества. В 2005 году в JavaScript был введен Ajax: асинхронный JavaScript + XML. Это побудило сообщество JavaScript начать разработку многочисленных фреймворков и библиотек, в том числе:
- - Angular - фреймворк для создания одностраничных приложений;
- - Dojo Toolkit - предназначен для сокращения времени разработки кроссплатформенных веб-приложений и сайтов;
- - Ember JS - фреймворк для одностраничных приложений;
- - страничные приложения jQuery - библиотека для упрощения HTML DOM;
- - MooTools - фреймворк для написания гибкого кроссбраузерного кода;
- - Prototype JS - фреймворк для написания веб-приложений;
- - React JS - фреймворк Facebook для написания пользовательских интерфейсов и их компонентов;
- - Vue - фреймворк для веб интерфейсы и одностраничные приложения.
После мероприятия 2008 года в Осло предложения ECMAScript 4 сокращены многими организациями и сторонами, связанными с JavaScript: Yahoo, Google и Microsoft. Проект под кодовым названием Harmony реализован в 2015 году, когда был выпущен ECMAScript 6. В 2009 году появился новый стандарт ECMA. После более чем полутора лет работы выпущена новая спецификация языка ECMAScript 5.
Проект CommonJS определил и продвигал разработку JavaScript вне браузера, используя модули для упаковки полезного кода и функций. Это позволило использовать Node.js как среду для запуска JavaScript без браузера. Теперь язык, на котором работал внешний интерфейс Интернета, мог работать с серверами за кулисами. Согласно отчету GitHub за октябрь 2018 года, репозиториев кода JavaScript больше, чем любого другого языка, и это число неуклонно растет. Со всем этим выбором в некоторой степени понятно, что также было движение к более массовой, «ванильной» реализации JavaScript.
Веб-компоненты, небольшие многоразовые настраиваемые элементы браузера, являются последним претендентом, стремящимся стать следующим прорывом в мире JavaScript. Каким бы ни было следующее большое событие, очевидно, что JavaScript будет с нами еще много лет.