【Node&Vue】什么是ECMAScript?

前言

本篇文章主要从 ECMAScript 引入,讲一讲啥是 ECMAScript。

也会附带讲到 V8、JS、Node.js 与 ECMAScript 的关系。【这一块内容其实也很重要】

看完之后相信你可以用自己的话说出

啥是 ECMAScript

并且也会对V8、JS、Node.js 与 ECMAScript 的关系有一个比较清楚的认识

注:结尾会有对标题的回答

正文

一、什么是 ECMAScript?------ 初印象

  1. 【!!重要!!】它是一种规范 。JS 是其中一个比较出名的实现。 就第一点最重要,后面的可看可不看
  2. ECMAScript 的全称是 "European Computer Manufacturers Association Script",中文意为"欧洲计算机制造商协会脚本"。

二、ECMAScript 与 Node.js 的关系

  1. ECMAScript 是语言规范用来规定 JS 要怎么写才是正确的。
  2. Node.js 是 JS 的运行环境,JS 程序员用 ECMAScript 所规定的语法写代码,Node.js 中的 V8 负责解析和执行这些 JS 代码

三、【补充】:Node.js 与 V8 的关系简述如下

  1. Node.js 底层使用 V8 来解析和运行 JavaScript。任何 JS 代码在 Node.js 中的执行最终都由 V8 处理。

  2. V8 是一个愣头青,只解析执行 JS 代码,其他的比如操作文件之类的通通不管 ------ Node.js 的原生模块弥补了这一块内容

  3. Node.js 知名度最高的事件循环(Event Loop) 和非阻塞 I/O 模型和 V8 没啥关系,【上面也说了 V8 这个愣头青专门解析和执行 JS 代码】而是 Node.js 自己整合的 libuv 库实现的。

  4. 各个 Node.js 版本一般有其对应的 V8 版本。这个应该比较好理解。因为首先 ECMAScript 在不断发展,假设今天 ECMAScript 新增了 A 特性,那么 V8 就会去新增 A 特性的兼容,而 Node.js 底层通过 V8 去解析、执行 JS 代码,如果 Node.js 不去实时更新对应的 V8 版本,那就跟不上 ECMAScript 那边定义的新特性了。其实 Node.js 官网也给出承诺了,原文的部分内容如下:

    Node.js is built against modern versions of V8. By keeping up-to-date with the latest releases of this engine, we ensure new features from the JavaScript ECMA-262 specification are brought to Node.js developers in a timely manner, as well as continued performance and stability improvements.

总结

最后回归一下主题!

【问】什么是 ECMAScript?

【直接秒杀版-答】

ECMAScript 是一种语言规范,规定了 JS 要怎么写才是正确的。

相关链接

相关推荐
AI分享猿3 小时前
UI设计Prompt系列(十三):响应式布局需求怎么写——让设计Prompt更接近前端实现
前端
ClouGence3 小时前
Selenium 写不动了?这个工具录一次就能跑 Web 自动化
前端·selenium·测试
hunterandroid3 小时前
[鸿蒙从零到一] HarmonyOS 地图、定位与传感器能力实战:从位置获取到运动感知
前端
大锅盖14 小时前
Web 工单要调用相机,第一步不是打开取景框,而是建立能力门禁
前端·数码相机·harmonyos
fthux4 小时前
不必下载整个仓库:GitZip Pro 让 GitHub 文件与文件夹批量下载更简单
前端·chrome·ai·edge·开源·github·firefox
懒人wsh4 小时前
不上悲观锁也不上 Redis:一个 AI 平台的钱包并发是怎么搞的
后端
奥莱维4 小时前
【无标题】
java·前端·javascript
用户921080262864 小时前
0. 为什么我们的项目选择 Cesium:从三维地图、离线部署到工程代价
前端
神奇小汤圆4 小时前
记一次线上翻车:加了Redisson分布式锁,数据还是被并发打穿了
后端
阿懂在掘金4 小时前
同一份弹窗我重构了三次:从 v-model 地狱到路由式调用,终于治好了模板臃肿
前端·vue.js·前端框架