Движок V8
JavaScript-код не исполняется компьютером напрямую, требуя преобразования в машинный код. Это делает движок V8, написанный на C++. Он встроен в Node.js. Таким образом, Node.js (написанный на C++) взаимодействует с V8 для выполнения JavaScript-кода. Процесс: мы пишем JavaScript-код, V8 преобразует его в машинный код, и компьютер его исполняет. Это упрощенное объяснение.
Глобальные объекты
В Node.js применим весь синтаксис JavaScript. Незнание JavaScript требует изучения основ языка.
В JavaScript есть глобальный объект window (в браузере), предоставляющий доступ к свойствам окна (ширина, высота и т.д.). В Node.js его нет. Вместо него — глобальный объект global, предоставляющий похожие возможности, но в контексте Node.js.
Помимо global, доступны другие глобальные объекты. Например, console для вывода в консоль (использовался в предыдущих уроках).
Node.js предоставляет специфические глобальные переменные, например, __dirname для получения пути к директории текущего файла:
console.log(__dirname);
Для вывода пути к файлу с именем:
console.log(__filename);
Использование JavaScript-синтаксиса
Node.js полностью поддерживает синтаксис JavaScript: переменные, условные операторы, циклы и другие конструкции:
let x = 0;
if (x === 0) {
console.log("zero");
}
for (let i = 0; i < 5; i++) {
console.log(i);
}
setTimeout(() => {
console.log("Привет");
}, 2000);
Доступны функции setInterval, setTimeout и другие.
Рассмотрены основы движка V8 и глобальные объекты в Node.js. Node.js использует тот же JavaScript, что и браузеры, поэтому знание JavaScript упростит изучение Node.js. В следующих уроках — более углубленное изучение Node.js.