ECMA-262标准及其扩展

文章目录

  • ECMA-262标准及其扩展
    • 简介[^1]
      • ECMA
      • TC39
      • JavaScript标准
        • ECMA-262
        • ISO/IEC 16262
      • ECMAScript历史
      • TypeScript
    • 浏览器对象
      • 简介[^3]
    • Nodejs
      • 简介[^4]

简介1

ECMA

ECMA是ECMA国际组织,全称是Ecma International (以前叫 ECMA - European Computer Manufacturers Association - 欧洲计算机制造商协会)是个行业标准组织,它所通过的标准都是 ECMA-nnn 这样进行编号。

TC39

是ECMA 国际组织第 39 号技术委员会( Technical Committee ),它是一个推动 JavaScript 发展的委员会。它是 ECMA 的一部分, ECMA 是 “ ECMAScript ” 规范下的 JavaScript 语言标准化的机构。

TC39 由各个主流浏览器厂商的代表构成,当然国内一些大型的科技公司比如阿里和字节都已经加入了 TC39 。他们的主要工作就是制定 ECMAScript 标准,标准生成的流程,并实现。

JavaScript标准

ECMA-262

是主标准,由 ECMA 国际组织(Ecma International)负责管理(为了让最初的JavaScript 与最初的 JScript 能遵循同一套标准发展而诞生的 ECMAScript ,正好排到了作为 Ecma 的 262 号标准,所以得到 ECMA-262 编号。)

ISO/IEC 16262

是第二标准,由国际标准化组织(ISO,International Organization for Standardization)和国际电子技术委员会(IEC,International Electrotechnical Commission)负责管理

出于商标版权的原因,规范标准中将这门语言称为 ECMAScript,所以原则上 JavaScript 与 ECMAScript 指的是同一个东西,但有时也会加以区分:

  • JavaScript:指语言及其实现
  • ECMAScript:指语言标准及语言版本,比如 ES6 表示语言(标准)的第 6 版

ECMAScript历史

  • ECMAScript 1(1997 年 6 月):标准的第一个版本
  • ECMAScript 2(1998 年 6 月):使 ECMA-262 与 ISO 标准保持同步的小更新
  • ECMAScript 3(1999 年 12 月):增加了正则表达式、字符串处理、控制语句(do-while、switch)、异常处理(try-catch)等众多核心特性
  • ECMAScript 4(2008 年 7 月废除):本来是一次大规模升级(静态类型、模块、命名空间等),但跨度过大,出现了分歧,最终没能推广使用
  • ECMAScript 5(2009 年 12 月):一些小的改进,加入一些标准库特性和严格模式
  • ECMAScript 5.1(2011 年 6 月):小更新,使 Ecma 和 ISO 标准保持同步
  • ECMAScript 6(2015 年 6 月):一次大更新,实现了 ECMAScript 4 的许多设想。从这个版本开始按年份命名规范版本 - ECMAScript 2015
  • ECMAScript 2016(2016 年 6 月):第一个年度版本,与 ES6 相比,发布周期较短,新特性也相对少些
  • ECMAScript 2017(2017 年 6 月):第二个年度版本

后续的 ECMAScript 版本(ES2018 等)总是在 6 月获得批准生效。

还没有正式发布的规范也就是还在定制阶段的特性都被称为 ESNext。

TypeScript

JavaScript的一个超集(TypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 JavaScript 代码。),而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript扩展了JavaScript的 语法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。
EXMAScript是一个标准,而Typescript实现了ECMAScript的特性,并且在此之上有进行扩展2

浏览器对象

简介3

  • BOM即浏览器对象模型(brower object model)

    BOM包含windows(窗口)、navigator(浏览器)、screen(浏览器屏幕)、history(访问历史)、location(地址)

  • DOM即文档对象模型(document object model)

    DOM就是把html里的各种数据当做对象处理的一种思路。

Nodejs

简介4

nodejs是对JavaScript脱离浏览器的应用延展,它还提供了运行引擎与相关API。Nodejs并不是一门语言,而是js的一种运行环境。


  1. https://zhuanlan.zhihu.com/p/384552181 ↩︎

  2. https://blog.csdn.net/D_claus/article/details/84999747 ↩︎

  3. https://blog.csdn.net/qq_41908550/article/details/83060780 ↩︎

  4. https://blog.csdn.net/yiifaa/article/details/54376458?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-11-54376458-blog-119675787.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-11-54376458-blog-119675787.pc_relevant_aa&utm_relevant_index=13 ↩︎

ECMA-262标准及其扩展相关推荐

  1. CAN总线数据帧/标准帧/扩展帧/远程帧/错误帧的组成格式对比

    最近在研究CAN总线的驱动,需要详细了解数据帧/标准帧/扩展帧/远程帧/错误帧这几种帧的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅. 1.数据帧-标准帧 CAN 标准 ...

  2. Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收

    Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等. ...

  3. Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等

    Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收 可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十六进制等. ...

  4. MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

    介绍 MQL5 标准库 是开发大型需要严谨体系的项目的有用援助.MQL5 向导 以对话模式在几分钟里就可以将现成的零件组装进广泛的规划中, 这种能力不可低估.MQL5 向导自动将 EA 的各个零件收集 ...

  5. 思科标准与扩展ACL配置实验

    一.ACL概述 1.简介 ACL(访问控制列表)ACL (Access Control List,访问控制列表)是一系列运用到路由器接口的策略列表.这些策略告诉路由器接收哪些数据包.拒绝哪些数据包,接 ...

  6. python 通达信pytdx标准行情扩展行情连接方法 可获取美股港股行情

    说明:在以下给出的代码连接失败的情况下,请更换ip和port.ip和port请从下面链接中找一个合适的,或者ping通里面每一个,直到返回True.学会看源码才是关键. https://github. ...

  7. 金蝶标准单据扩展类开发

    业务场景: 很多业务场景下,需要我们对标准产品的单据进行二次开发.这时候我们就需要使用扩展类开发 一.服务端扩展相关步骤: 1.用文本编辑器打开实体元数据PayRequestBill.entity,增 ...

  8. ECMA 262 13 Expressions

    1 Identifiers 语法 2 Primary Expression 语法 PrimaryExpression [Yield, Await]_{\text{[Yield, Await]}}[Yi ...

  9. web前端面试题之魂(js)

    JS基础 变量 面试题 1.JS使用typeof能得到哪些类型? 考点: JS变量类型 typeof undefined, //undefined typeof 'abc' ,//string typ ...

最新文章

  1. python语言入门详解-Python unittest详解一(基础入门)
  2. 图解3种常见的深度学习网络结构:FC、CNN、RNN
  3. Anaconda安装找不到的依赖包,以DBUtils包为例
  4. 有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?
  5. 现在,Echo不仅会说话,还学会了变魔术
  6. 项目管理 : 智能家居项目实施计划
  7. 网页骨架屏自动生成方案
  8. 一个奔四技术人的2020年
  9. python超简单趣味编程100例_python趣味编程100例
  10. 拥有数据报表模板,不再愁如何制作数据报表
  11. iOS 【模仿App 获取app素材】
  12. Java语言制作动画
  13. win10下如何使用的debug
  14. springboot配置tomcat
  15. 图像彩色化方法(深度学习)
  16. iniparser——C配置文件解析库
  17. TextMeshPro 字体不支持问题
  18. 如何用python批量下载数据_Python批量下载地理空间数据云数据!Python无所不能!...
  19. ARM通用中断控制器GIC之中断控制
  20. matlab第三章题目,Matlab楼顺天 第三章习题答案

热门文章

  1. 10-Redis 面霸篇:从高频问题透视核心原理 码哥
  2. Asp基础教程(上)
  3. 卖出总数的一半又少8个_总共有多少个?一筐鸡蛋?
  4. Clickhouse limit by函数
  5. 检测LED单元板的好坏的常见方法
  6. 赛事重启!第五届“强网”拟态防御国际精英挑战赛重磅归来!
  7. jmeter生产jtl 和 html
  8. HS6621CG低功耗调试开发资料
  9. Qualcomm(高通)平台开发系列讲解-音频设备操作流程
  10. 如何使用 Mac 上自带的「提醒事项」