Skip to content

Движок JavaScript V8

V8 - это название движка JavaScript, который лежит в основе Google Chrome. Именно он берет наш JavaScript и выполняет его во время работы в Chrome.

V8 - это движок JavaScript, то есть он анализирует и выполняет код JavaScript. DOM и другие API веб-платформы (все они составляют среду выполнения) предоставляются браузером.

Самое замечательное в том, что движок JavaScript не зависит от браузера, в котором он размещен. Эта ключевая особенность привела к появлению Node.js. В 2009 году V8 был выбран в качестве движка для Node.js, и по мере того, как популярность Node.js росла, V8 стал движком, который теперь лежит в основе невероятного количества серверного кода, написанного на JavaScript.

Экосистема Node.js огромна, и благодаря V8 она также поддерживает настольные приложения, с такими проектами, как Electron.

Другие JS движки

У других браузеров есть свои собственные движки JavaScript:

  • SpiderMonkey (Firefox)
  • JavaScriptCore (также называемый Nitro) (Safari)
  • Edge изначально был основан на Chakra, но недавно был перестроен с использованием Chromium и движка V8.

И существует много других.

Все эти движки реализуют стандарт ECMA ES-262, также называемый ECMAScript, стандарт, используемый JavaScript.

В погоне за производительностью

V8 написан на C++ и постоянно совершенствуется. Он является переносимым и работает на Mac, Windows, Linux и нескольких других системах.

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

V8 постоянно развивается, как и другие движки JavaScript, чтобы ускорить работу в Интернете и экосистему Node.js.

В Интернете уже много лет идет гонка за производительностью, и мы (как пользователи и разработчики) много выигрываем от этой конкуренции, потому что год за годом получаем более быстрые и оптимизированные машины.

Компиляция

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

Это происходит с 2009 года, когда компилятор JavaScript SpiderMonkey был добавлен в Firefox 3.5, и все последовали этой идее.

JavaScript внутренне компилируется V8 с использованием just-in-time (JIT) компиляции для ускорения выполнения.

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

Наши приложения теперь могут работать часами внутри браузера, а не просто несколько правил проверки форм или простых скриптов.

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