Skip to content

Движок JavaScript V8

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

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

Замечательно то, что движок JavaScript не зависит от браузера, в котором он размещен. Эта ключевая особенность позволила появиться Node.js. V8 был выбран в качестве движка для Node.js еще в 2009 году, и по мере роста популярности 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 может потребоваться немного больше времени, после этого он будет работать намного эффективнее, чем чисто интерпретируемый код.