Home  >  Article  >  Web Front-end  >  Node has been updated, let’s take a look at the new features of Node18!

Node has been updated, let’s take a look at the new features of Node18!

青灯夜游
青灯夜游forward
2022-04-21 21:15:054263browse

Node has released a new version. This article will take you to take a look at the new features of Node18. I hope it will be helpful to everyone!

Node has been updated, let’s take a look at the new features of Node18!

Official release address: https://nodejs.org/en/blog/release/v18.0.0/

Node has been updated, let’s take a look at the new features of Node18!

1. Native support for fetch

const res = await fetch('https://nodejs.org/api/documentation.json');
if (res.ok) { 
  const data = await res.json(); 
  console.log(data); 
}

Node’s global environment supports experimental fetch API. The implementation is based on undici, an HTTP/1.1 client written for Node.

At the same time, Node can now use the following global variables: fetch, FormData, Headers, Request and Response.

2. Built-in test runner

import test from 'node:test'; 
import * as assert from 'assert/strict'; 

test('sync test', (t) => { 
  assert.equal(1, 1); 
  }
); 
  
test('async test', async (t) => { 
  assert.equal(1, 1); 
  }
);

3. Web Streams

Node download supports Web Streams API (MDN), which means Node can The Streams API allows JavaScript to programmatically access data streams received over the network.

4. Blob

buffer has a new Blob API, Blob encapsulates immutable raw data and can safely share these data between multiple worker threads.

In addition, the new BroadcastChannel instance allows asynchronous one-to-many communication with all other BroadcastChannel instances bound to the same channel name.

5. Using V8 New Version

V8 will be updated to version 10.1, which is part of Chromium 101. Compared to Node.JS 17.9.0, the following new features are included:

  • findLast() and findlastedex() array methods.
  • Improvements to Intl.Locale API.
  • Intl.SupportedValues ​​of the function.
  • Improved performance of class fields and private class methods (they are now initialized as fast as normal property storage).

6. Support for import JSON

Import Assertions proposal adds inline syntax for module import statements. The purpose of such assertions is to support other types of modules in a common way across JavaScript environments, starting with JSON modules.

The syntax is as follows (recommended method for importing JSON module):

import json from "./foo.json" assert { type: "json" };
import("foo.json", { assert: { type: "json" } });

End

For more features, please refer to the address at the beginning of the article!

For more node-related knowledge, please visit: nodejs tutorial!

The above is the detailed content of Node has been updated, let’s take a look at the new features of Node18!. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:juejin.cn. If there is any infringement, please contact admin@php.cn delete