Браузер

Когда вы пишете Javascript, как браузер понимает написанное?

Ну, это обрабатывается движком javascript, и разные браузеры имеют разные движки javascript.

Давайте сосредоточимся на самом популярном браузере или, лучше сказать, на моем любимом браузере Google Chrome.

двигатель V8

Google Chrome использует движок javascript, называемый движком v8.

«Итак, в чем цель движка v8, спросите вы, ну, та же цель, что и у любого другого движка javascript, то есть преобразование кода javascript в двоичный код, чтобы компьютер мог его понять.

Компоненты двигателя V8

Двигатель состоит из двух основных компонентов:

Куча памяти — здесь происходит выделение памяти

Стек вызовов — это для отслеживания того, на каком этапе выполнения кода мы находимся.

Как нам добраться до машинного кода?

Чтобы получить машинный код, ваш файл javascript должен быть либо скомпилирован, либо интерпретирован.

Компиляция — весь исходный код сразу конвертируется в машинный код.

Интерпретация — в интерпретации есть интерпретатор, который просматривает исходный код и выполняет его построчно.

Javascript компилируется или интерпретируется?

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

Современный движок Javascript теперь использует сочетание компиляции и интерпретации, которое называется компиляцией точно в срок (JIT).