【SSD系列】傻傻的,连JavaScript,ECMAScript和ECMA-262都分不清楚

简介: JavaScript一种脚本语言,是一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

1.JPG


什么是JavaScript?


JavaScript一种脚本语言,是一种动态类型、弱类型、基于原型的语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。


JavaScript诞生


刚开始浏览器只能用来浏览,不具备与访问者互动的能力。

JavaScript这样网络脚本语言,解决了浏览器的交互问题。


为什么叫 JavaScript


趁 Java 的热度,临时把 LiveScript 改名为 JavaScript,JavaScript 和 Java 没什么关系。


JavaScript主要由谁开发


34 岁的程序员Brendan Eich,10天 设计出了JavaScript。


  (1)借鉴C语言的基本语法;

  (2)借鉴Java语言的数据类型和内存管理;

  (3)借鉴Scheme语言,函数提升到第一等公民的地位;

  (4)借鉴Self语言,基于原型(prototype)的继承机制。


Javascript的10个设计缺陷


  1. 不适合开发大型程序
  2. 非常小的标准库
  3. null 和 undefined
  4. 全局变量难以控制
  5. 自动插入行尾分号
  6. 加号运算符
  7. NaN
  8. 数组和对象的区分
  9. == 和 ===
  10. 基本类型的包装对象


详情参见: JavaScript 的十个设计缺陷


ECMAScript 是个啥


ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言。

由 ECMA-262定义的 ECMAScript与Web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。


我们常见的 Web 浏览器只是 ECMAScript 实现可能的宿主环境之一。宿主环境不仅提供基本的 ECMAScript 实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。


ECMA-262 是个啥



Ecma International是个行业标准组织,它所通过的标准都是ECMA-这样的编号,然后可以有另外的标准名字。 为了让最初的JavaScript与最初的JScript能遵循同一套标准发展而诞生的ECMAScript,正好排到了作为Ecma的262号标准而已,所以得到ECMA-262编号。


ECMAScript历史版本


版本 时间
ECMAScript 1.0 1997
ECMAScript 2.0 1998-06
ECMAScript 3.0 1999-12
ECMAScript 3.1 2008-07
ECMAScript 5.0 2009-12
ECMAscript 5.1 2011-06
ECMAscript 6 2015-06


JavaScript 和 ECMAScript


虽然JavaScript和ECMAScript通常被人们用来表达相同的含义。但是JavaScript的含义却比ECMA-262规定的要多得多。


一个完成 的JavaScript实现应该由下列三个不同的部门组成


  1. 核心 ECMAScript: 描述了该语言的语法和基本对象
  2. 文档对象模型 DOM :提供处理网页内容的方法和接口
    核心对象是 window, Node等
  3. 浏览器对象模型 BOM :提供与浏览器交互的方法和接口


node 和 javascript


node = ECMAScript + nodejs API

javascript = ECMAScript + web AP



相关文章
|
6月前
|
JavaScript 前端开发 API
ECMAScript和JavaScript的区别是什么?
【4月更文挑战第11天】ECMAScript和JavaScript的区别是什么?
35 1
|
6月前
|
缓存 JavaScript 前端开发
深入理解 ECMAScript modules:提升你的 JavaScript 技能(五)
深入理解 ECMAScript modules:提升你的 JavaScript 技能(五)
|
6月前
|
JavaScript 前端开发
深入理解 ECMAScript modules:提升你的 JavaScript 技能(四)
深入理解 ECMAScript modules:提升你的 JavaScript 技能(四)
|
11天前
|
JavaScript 前端开发 编译器
掌握现代化JavaScript:ECMAScript提案与特性
【10月更文挑战第13天】本文介绍了ECMAScript(ES)的最新提案与特性,包括可选链、空值合并运算符、类字段和顶层Await等。通过跟踪TC39提案、使用Babel或TypeScript、测试兼容性以及逐步迁移,开发者可以高效地采用这些新特性,简化代码、提高开发效率并增强应用功能。文章还提供了实战技巧,帮助开发者在现代Web开发中充分利用这些现代化的特性。
|
2月前
|
Web App开发 JavaScript 前端开发
探索现代JavaScript开发:ECMAScript提案的未来
JavaScript是最受欢迎的编程语言之一,其发展迅速。ECMAScript(JS的标准化版本)的提案和更新为其带来了诸多新特性和改进。本文将介绍值得关注的ECMAScript提案,如可选链、空值合并运算符、逻辑赋值运算符、类字段和顶级Await,并展示如何利用这些新特性提升开发效率和代码质量。通过关注TC39提案流程、使用Babel和TypeScript等工具,开发者可以提前体验并利用这些新特性。随着JavaScript的不断进步,未来将有更多令人期待的功能加入。
|
3月前
|
JavaScript 前端开发 API
JS 与ECMAScript的关系、历史和未来发展
JS 与ECMAScript的关系、历史和未来发展
|
5月前
|
JavaScript 前端开发 编译器
ECMAScript与JavaScript:一场语言的邂逅
ECMAScript与JavaScript:一场语言的邂逅
|
5月前
|
JavaScript 前端开发 API
ECMAScript vs JavaScript: 理解两者间的联系与区别
ECMAScript vs JavaScript: 理解两者间的联系与区别
|
5月前
|
JavaScript 前端开发
《编程之光:解密ECMAScript与JavaScript的微妙关系》
《编程之光:解密ECMAScript与JavaScript的微妙关系》
38 0
|
6月前
|
存储 JavaScript 前端开发
【JavaScript技术专栏】ECMAScript 6+新特性详解
【4月更文挑战第30天】ES6(ES2015)标志着JavaScript的重大更新,引入了类和模块、箭头函数、模板字符串、解构赋值、Promise、新数据类型Symbol、Set和Map集合等特性,提高了语言表达力和开发效率。后续版本继续添加新特性,如ES2016的`Array.prototype.includes`,ES2017的`async/await`,以及ES2018的`Object/rest`。学习和掌握这些特性对于提升开发质量和效率至关重要。
38 1