Node更新了,一起看看Node18的新特性!
作者:互联网
2022-08-25

官方发布地址:https://*nodejs.o*rg*/en/blog/release/v18.0.0/
1. 原生支持fetch
const res = await fetch('https://**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模块的建议方法):
import json from "./foo.json" assert { type: "json" };
import("foo.json", { assert: { type: "json" } });
结尾
其他更多特性请参考文章开头的地址!
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
vue3 数据响应式遇到的问题
vxe-table 自定义数字行主键,解决默认字符串主键与后端类型不匹配问题
AI 打字跟随优化
你的 Vue 3 defineEmits(),VuReact 会编译成什么样的 React?
Vue3 + TS 企业级工程化项目全套实战(Vue3 + Vite + Pinia + VueRouter + Element Plus)
Vue 3 defineOptions 宏,用 VuReact 编译成 React 长什么样?
Vue3 KeepAlive 深度揭秘:组件缓存的魔法是如何实现的?
你的 Vue 3 useAttrs(),VuReact 会编译成什么样的 React?
虚拟 DOM 的 Diff 算法:Vue/React 如何实现高效更新
前端必看!console 调试不只有 log,这 8 个技巧省一半调试时间
AI精选

