Чем среда выполнения Node.js V8 отличается от того, что у нас есть на консоли Chrome?

Node.js1 Изучение

NodeJS — это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом, которая помогает запускать JavaScript вне браузера. Его можно использовать для создания широкого спектра программного обеспечения, включая внутренние серверы, сценарии, инструменты командной строки, игры, нативные приложения и т. д. NodeJS является однопоточным, мы используем его в основном для неблокирующих серверов, управляемых событиями. Он построен на V8, движке JavaScript, созданном Google. V8 также используется для запуска JavaScript внутри консоли Google Chrome.

Да, и NodeJS, и Chrome используют один и тот же движок V8 для выполнения JavaScript. Тем не менее, есть некоторые различия в том, как они выполняются.

Обзор движка V8: V8 — это высокопроизводительный движок JavaScript, написанный на C++ и разработанный Google. Он используется в Chrome и NodeJS. По сути, V8 преобразует код JavaScript в машинный код, который может выполняться компьютером.

Модель двигателя V8:

На изображении выше показано, как исходный код преобразуется

На изображении выше показано, как исходный код преобразуется в машинный код. Этот процесс осуществляется в следующие этапы:

  1. Исходный код передается в движок.
  2. Базовый компиляторотвечает за преобразование исходного кода в неоптимизированный байт-код (таким образом, байт-код генерируется быстро и программа быстро запускается).
  3. Байт-код, созданный на шаге 2, теперь интерпретируется интерпретатороми преобразуется в машинный код, который может выполняться машиной.
  4. Компилятор оптимизации TurboFanберет байт-код и генерирует оптимизированный машинный код вместо неоптимизированного машинного кода. Это помогает создавать эффективный и быстрый машинный код. Со временем байт-код полностью оптимизируется компилятором TurboFan, и этот процесс выполняется в фоновом режиме, не нарушая базовый компилятор и интерпретатор.

Чем среда выполнения NodeJS V8 отличается от консоли Chrome?

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

Однако, поскольку обе среды различаются, есть некоторые различия в JavaScript, работающем в Chrome и NodeJS.

  1. Доступ к системе:NodeJS работает на машине, поэтому он имеет полный доступ к операционной системе, что означает, что он может читать, записывать данные в файлы напрямую и выполнять многие другие действия. NodeJS также можно использовать для создания настольных приложений с использованием фреймворка, такого как electronic.js. Консоль Chrome имеет ограниченный доступ к системе, поскольку она работает внутри браузера. Он не может выполнять действия так же, как это делает Node.
  2. Модульная система:в NodeJS все хранится в модулях, и данные передаются между файлами с помощью модулей. Однако для Chrome это не обязательно.
  3. Отсутствующие объекты в обеих экосистемах:NodeJS не имеет объектов документа, окна или местоположения, потому что у него нет окна или DOM для работы. Точно так же Chrome также не имеет доступа к глобальному объекту и модулям, таким как fs, path и т. д.
  4. Графический интерфейс против безголового:у Chrome есть графический интерфейс для работы, а NodeJS безголовый.
Читайте также:  Как установить HTTP-пакет во Flutter?
Оцените статью
bestprogrammer.ru
Добавить комментарий