Новые возможности Nodejs 18 и 19
всем привет, в этой статье мы поговорим о некоторых особенностях node js версии 18 и версии 19.
FindLast и FindLastIndex
Эти методы массива аналогичны find и findIndex , функционально идентичны find и findIndex. Но есть некоторая разница, эти методы ищут элемент в массиве с конца.
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];
array.find(n => n.value % 2 === 1); // { value: 1 }
array.findIndex(n => n.value % 2 === 1); // 0
// find
array.findLast(n => n.value % 2 === 1); // { value: 3 }
// findIndex
array.findLastIndex(n => n.value % 2 === 1); // 2
array.findLastIndex(n => n.value === 42); // -1
Я думаю, что этот флаг очень важен. нам больше не нужен nodemon, если мы можем использовать этот флаг. Запуск приложения Node.js в режиме просмотра автоматически перезапускает процесс при изменении импортированного файла.
node --watch app.js
До Node.js v18 вы не могли использовать Fetch API в Node.js для запроса данных из API. Вам приходилось устанавливать node-fetch, axios или другую стороннюю библиотеку. С node js v18 нам не нужны сторонние пакеты для выборки.
async function fetchData() {
const response = await fetch(
"https://random-data-api.com/api/name/random_name"
);
if (response.ok) {
const data = await response.json();
console.log(data);
}
}
fetchData();
Новый способ «импорта» модулей, который использует префикс «node:», который сразу делает очевидным, что модули взяты из ядра Node.js.
Встроенный модуль запуска тестов
С выпуском Node.js v18 средство запуска тестов теперь включено в Node.js, и к нему можно получить доступ с помощью:
const test = require('node:test')
const assert=require('node:assert')
test("My Test", async (t) => {
await t.test("It should equal two numbers", () => {
assert.equal(3, 4);
});
await t.test("It should not equal two numbers", () => {
assert.notEqual(2, 1);
});
});
//node --watch yourfile.js
Двигатель V8 обновлен до v10.1
Node.js работает с движком V8 из браузера с открытым исходным кодом Chromium. Этот движок был обновлен до версии 10.1, которая является частью недавнего обновления Chromium 101.
Тайм-ауты HTTP
Тайм-ауты http.server изменились:
headersTimeout(время, допустимое для анализа заголовка HTTP-запроса) установлено на 60000 миллисекунд (60 секунд).requestTimeout(время ожидания, используемое для HTTP-запроса) по умолчанию установлено на 300000 миллисекунд (5 минут).
Мой канал на ютубе.
Всем хорошей работы.

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































