Node 18更新了,你能告诉我有哪些新特性吗?

2026-04-03 08:061阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计619个文字,预计阅读时间需要3分钟。

Node 18更新了,你能告诉我有哪些新特性吗?

Node.js 发布了新版本,本文将带大家看看 Node 18 的新特性,希望对大家有所帮助!官方发布地址:[https://nodejs.org/en/blog/release/v18.0.0/](https://nodejs.org/en/blog/release/v18.0.0/)

1. 原生支持 fetch 和 const res=await fetch('https://nodejs.')

Node发布新版本了,本篇文章就来带大家一起看看Node18的新特性,希望对大家有所帮助!

官方发布地址:nodejs.org/en/blog/release/v18.0.0/

1. 原生支持fetch

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

Node的全局环境上支持实验性的fetch API。该实现基于undici,一个为Node编写的HTTP/1.1客户端。

同时,Node现在可以使用以下全局变量:fetch、FormData、Headers、Request和Response。

2. 内置的 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下载支持 Web Streams API(MDN),这意味着Node可以通过Streams API允许JavaScript以编程的方式访问通过网络接收的数据流。

4. Blob

buffer新增Blob API,Blob封装了不可变的原始数据,可以在多个工作线程之间安全地共享这些数据。

另外,新增的 BroadcastChannel 实例允许与绑定到同一 channel name 的所有其他 BroadcastChannel 实例进行异步一对多通信。

5. 使用V8 新版本

V8将更新为10.1版,这是Chromium 101的一部分。与Node.JS 17.9.0相比,包括以下新功能:

  • findLast()和findlastedex()数组方法。
  • 对Intl.Locale API的改进。
  • 函数的Intl.SupportedValues。
  • 提高了类字段和私有类方法的性能(现在它们的初始化速度与普通属性存储一样快)。

6. 支持 import JSON

Import Assertions 提案为模块导入语句添加了内联语法。此类断言目的是以跨JavaScript环境的通用方式支持其他类型的模块,从JSON模块开始。

语法如下(导入JSON模块的建议方法):

Node 18更新了,你能告诉我有哪些新特性吗?

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

结尾

其他更多特性请参考文章开头的地址!

更多node相关知识,请访问:nodejs 教程!

以上就是Node更新了,一起看看Node18的新特性!的详细内容,更多请关注自由互联其它相关文章!

标签:新特性

本文共计619个文字,预计阅读时间需要3分钟。

Node 18更新了,你能告诉我有哪些新特性吗?

Node.js 发布了新版本,本文将带大家看看 Node 18 的新特性,希望对大家有所帮助!官方发布地址:[https://nodejs.org/en/blog/release/v18.0.0/](https://nodejs.org/en/blog/release/v18.0.0/)

1. 原生支持 fetch 和 const res=await fetch('https://nodejs.')

Node发布新版本了,本篇文章就来带大家一起看看Node18的新特性,希望对大家有所帮助!

官方发布地址:nodejs.org/en/blog/release/v18.0.0/

1. 原生支持fetch

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

Node的全局环境上支持实验性的fetch API。该实现基于undici,一个为Node编写的HTTP/1.1客户端。

同时,Node现在可以使用以下全局变量:fetch、FormData、Headers、Request和Response。

2. 内置的 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下载支持 Web Streams API(MDN),这意味着Node可以通过Streams API允许JavaScript以编程的方式访问通过网络接收的数据流。

4. Blob

buffer新增Blob API,Blob封装了不可变的原始数据,可以在多个工作线程之间安全地共享这些数据。

另外,新增的 BroadcastChannel 实例允许与绑定到同一 channel name 的所有其他 BroadcastChannel 实例进行异步一对多通信。

5. 使用V8 新版本

V8将更新为10.1版,这是Chromium 101的一部分。与Node.JS 17.9.0相比,包括以下新功能:

  • findLast()和findlastedex()数组方法。
  • 对Intl.Locale API的改进。
  • 函数的Intl.SupportedValues。
  • 提高了类字段和私有类方法的性能(现在它们的初始化速度与普通属性存储一样快)。

6. 支持 import JSON

Import Assertions 提案为模块导入语句添加了内联语法。此类断言目的是以跨JavaScript环境的通用方式支持其他类型的模块,从JSON模块开始。

语法如下(导入JSON模块的建议方法):

Node 18更新了,你能告诉我有哪些新特性吗?

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

结尾

其他更多特性请参考文章开头的地址!

更多node相关知识,请访问:nodejs 教程!

以上就是Node更新了,一起看看Node18的新特性!的详细内容,更多请关注自由互联其它相关文章!

标签:新特性