Что такое JavaScript?

Javascript был представлен в 1995 году браузером Netscape Navigator как язык сценариев для веб-страниц, то есть как способ добавления программ на веб-страницы. На момент создания JAVA был очень популярным языком. Таким образом, название javascript было прямой маркетинговой стратегией, призванной завоевать признание.

После принятия javascript за пределами Netscape были предприняты некоторые шаги по стандартизации, чтобы гарантировать, что javascript работает одинаково во всех частях программного обеспечения. Стандартизация была проведена Международной организацией Ecma и называется стандартом ECMAScript. С 1995 года были выпущены различные редакции стандарта ECMAScript, такие как es1, es2, es3, до текущего стандарта Es.next.

Для чего можно использовать JavaScript?

Первоначально javascript в основном использовался как язык сценариев для создания веб-страниц. Но с тех пор Javascript сильно изменился. Javascript можно использовать для следующих целей:

  1. Игры
  2. Мобильные приложения (React Native, Vue Native)
  3. Машинное обучение (Tensorflow.js)
  4. Виртуальная реальность (React VR)
  5. Настольные приложения (Electron.js, Nw.js)
  6. Серверные приложения (Nodejs)
  7. Интернет вещей (Johnny-Five)
  8. Веб приложение
  9. Искусство (холст HTML5)
  10. Инструменты командной строки (commander.js)
  11. Сетевые приложения в реальном времени

Где выполняется код Javascript?

Javascript изначально был разработан для работы в среде браузера. В каждом браузере есть движок javascript для выполнения кода javascript. В 2009 году была создана еще одна среда выполнения для javascript под названием Node.js. Node.js - это среда выполнения для javascript, построенная на движке Chrome V8 Javascript. Это означало, что javascript теперь можно запускать вне среды браузера, что привело к появлению javascript на стороне сервера. Таким образом, Javascript можно запускать как в браузере, так и с помощью Nodejs.

Как браузер выполняет javascript?

На изображении показаны основные компоненты браузера. Мы сосредоточимся на движке рендеринга и движке javascript.

Механизм обработки

Механизм визуализации интерпретирует документ HTML или XML и форматирует его с помощью CSS, а затем отображает запрошенную веб-страницу. Он определяет макет веб-страницы. Разные браузеры используют разные механизмы рендеринга, например Safari использует WebKit. Chrome и Opera используют Blink, форк WebKit, а Firefox использует Gecko.

Механизм Javascript

Механизм JavaScript выполняет код JavaScript, встроенный в веб-страницу. В каждом браузере есть движок javascript, который может выполнять код javascript, например, в Firefox есть SpiderMonkey, а в Chrome - V8.

Все современные движки Javascript являются JIT-компиляторами (они реализуют своевременную компиляцию). Это означает, что они компилируют код javascript в байт-код во время выполнения, а не до выполнения кода. Механизм Javascript использует как интерпретатор, так и компилятор для повышения производительности.

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

Таким образом, в статье рассказывается об истории javascript и многих замечательных вещах, которые мы можем делать с помощью javascript. В нем также рассматривается, как javascript работает в браузере и как современные браузеры реализуют своевременную компиляцию. Плюс к тому, как своевременная компиляция ускоряет работу javascript и повышает производительность.

Если статья вам помогла или она вам понравилась, то оставьте аплодисменты.