当前位置: 首页 > news >正文

Node.js对ES6 及更高版本的支持

目录

1、简介

2、默认情况下什么特性随着 Node.js 一起发布?

3、有哪些特性在开发中?

4、移除这个标记(--harmony)吗

5、Node.js 对应 V8 引擎


 

1、简介

Node.js 是针对 V8 引擎构建的。通过与此引擎的最新版本保持同步,我们确保及时向 Node.js 开发人员提供 JavaScript ECMA-262 specification 中的新功能,以及持续的性能和稳定性改进。

所有的 ECMAScript 2015 (ES6) 功能将被分为三个部分 shippingstaged 和 in progress

  • 所有 shipping:在 V8 引擎中认为是稳定的,转变成 Node.js 默认,并且 不会 需要任何运行时标记。
  • Staged:这些是将要完成的特性,并且在 V8 团队看来并不一定稳定,需要一个 --harmony 标记。
  • In progress:这些特性可以通过各自单独的 harmony 标记被激活使用。除非为了测试用途,否则绝不鼓励这样做。值得注意的是这些标记是由 V8 引擎公开,将来或许会有潜在的变化而不会有任何免责声明或者协议。

2、默认情况下什么特性随着 Node.js 一起发布?

node.green (https://node.green/) 提供了非常完整、几乎涵盖了不同版本的 Node.js 中所支持的 ECMAScript 特性。它基于 kangax 的兼容性对照表构建。

kangax 用于检查JavaScript版本(ES5,ES6,ES2016 +等)在不同编译器,服务器/运行时和平台(桌面和移动)之间的兼容性。

3、有哪些特性在开发中?

新特性源源不断地被加入 V8 引擎。一般说来,虽然具体的时间未知,但我们总希望他们将来在 Node.js 中有所体现。

在每个 Node.js 发布版中,你可以通过 greep 配上 --v8-options 参数罗列出全部处于 in progress 状态的特性功能。请注意:他们尚未完成,可能因为 V8 引擎自带的功能而夭折。所以使用这些特性时会冒风险。

node --v8-options | grep "in progress"

88ce72ae3134475f809d67c34c4157b4.png

4、移除这个标记(--harmony)吗

目前来说,--harmony 在 Node.js 的作用是让 staged 特性起作用。它本质上等同于 --es_staging。如上所述,有些特性尚未完全确认是稳定的,所以如果你希望一个安全的环境(尤其是在发布环境),你应该考虑移除这个运行时的环境标记,直到它在 V8 中以默认形式发布,或者在 Node.js 中落地。如果你开启了这个开关,你应该有对未来 Node.js 升级而造成代码破坏(无法正常工作)的准备,比如 V8 引擎做了更改,它的语法变得更接近标准。

5、Node.js 对应 V8 引擎

Node.js 提供了一个简单的方法以列出所有依赖项,以及通过 process 全局对象,借助特定的二进制包发布的不同版本。由于是 V8 引擎,在你的终端输入以下命令就可以获取相关版本号:

node -p process.versions.v8

例如我的node版本为v16.16.0,对应的v8引擎版本为:9.4.146.24-node.21

ac7e239c43ee44baa3f51587ef5a015e.png

 

 

 

http://www.lryc.cn/news/66751.html

相关文章:

  • 【华为OD机试2023】工作安排 100% C++ Java Python
  • 面试题Spring - 关于Spring的25个经典问题和答案
  • C++学习day--10 条件判断、分支
  • 和月薪5W的聊过后,才发现自己一直在打杂···
  • SSM框架学习-AOP通知类型
  • 微信小程序原生开发功能合集十四:登录健权及注册功能实现
  • 【Java零基础入门篇】第 ⑤ 期 - 抽象类和接口(二)
  • Halcon 集合运算(差集difference、交集intersection、并集union2、打散connection与 合集 union1)
  • Allegro约束规则设计
  • PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵
  • Talk预告 | 大连理工大学IIAU Lab在读博士生严彬:走向通用实例感知
  • 2023-05-04 LeetCode每日一题(摘水果)
  • [工具]Pytorch-lightning的使用
  • 互联网摸鱼日报(2023-05-09)
  • MySQL常见的存储引擎
  • 迅为i.MX6ULL开发板生成 KEY 文件,并安装
  • 常见舆情监测系统的分类和特点
  • 联合群美叶彦文:坚持,只要有一口气,能坚持多久,就坚持多久
  • 动态规划的学习
  • 计算机网络:HTTPS
  • 数据库系列-什么是 JDBC?它的作用是什么?
  • C++学习day--08 数组和字符串
  • 系统分析师之系统测试与维护(十六)
  • 板材激光切割机切割穿孔时注意的几个问题
  • 奶爸式Swagger教学
  • 入门级的家用洗地机怎么样?入门级洗地机推荐
  • 【面试】Java 反射机制(常见面试题)
  • JavaScript最佳实践
  • 景23转债,海能转债上市价格预测
  • TDengine 部署与使用----时序数据库