JavaScript
JavaScript-заметки
-
JavaScript - мультипарадигменный язык программирования с динамической и слабой типизацией, автоматическим управлением памятью. Выполняется специальным движком (программа, обрабатывающая код на JavaScript). Поддерживает объектно-ориентированный, императивный и функциональный стили. ECMAScript - спецификация, LiveScript - первое название языка, JavaScript - название, зарегистрированный товарный знак, но не язык, компании Oracle Corporation в США.
-
Динамическая типизация - приём, широко используемый в языках программирования и языках спецификации, при котором переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной. Таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов.
-
Слабая типизация - наличие нескольких операций сравнения «==», «!=» (с приведением к одному типу, при необходимости и возможности, для сравнения значений) и «===», «!==» (сначала сравнение типов, а после - значений).
Алгоритм работы JavaScript-движков:
- движок читает ("парсит") текст скрипта;
- преобразует ("компилирует") скрипт в машинный язык;
- машинный код запускается.
Движок применяет оптимизации на каждом этапе. Он даже просматривает скомпилированный скрипт во время его работы, анализируя проходящие через него данные и применяет оптимизации к машинному коду, полагаясь на полученные знания. В результате скрипты работают очень быстро.
Возможности JavaScript:
- разработка веб-приложений;
- разработка мобильных приложений;
- разработка десктоп-приложений;
- разработка веб-серверов и не только.
JavaScript поддерживается всеми основными веб-браузерами и включён по умолчанию.
Возможности JavaScript ограничиваются только средой исполнения, будь то веб-браузер, Node.js или любая другая среда, в которой есть движок исполнения кода JavaScript. Только среда исполнения накладывает ограничения на возможности JavaScript.