编程思维实战之JavaScript编程从入门到精通第3篇——JavaScript编程语言精要简介
JavaScript:名字,版本和模式
JavaScript在互联网的早期出现在Netscape的项目中。
JavaScript的版权属于Sun Microsystems公司(现在的Oracle公司)。
JavaScript用于实现Netscape(现在的Mozilla)的项目需求。
Netscape提交了这门语言到标准化组织ECMA(the European Computer Manufacturer’s
Association),因为版权问题,标准化的版本的JavaScript语言惹上了官司,因为"ECMAScript"这个名字已经被商标注册过了。
在实际使用中,一般都叫这门语言为JavaScript编程语言,而不是ECMAScript编程语言。
在本系列文章中,使用名字"ECMAScript"和缩写"ES"代指这门语言的标准和对于这门语言标准的版本号。
举例来说,2010年,第5版的ECMAScript语言标准发布了,并且支持所有的网页浏览器。
这一系列文章把ES5当做兼容的基准,并不在讨论早期版本的ES版本的编程语言。
ES6在2015年发布,并添加一些新的特征,包括:类和模块定义,这些新特征把JavaScript从一门脚本语言改造成了一门严肃的、通用用途的编程语言,能满足大型软件工程项目的需要。
从ES6编程语言更新以来,ECMAScript官方文档开始每年都更新和发布,具体的发布版本包括:ES2016,ES2017,ES2018,ES2019和ES2020,现在都是按年号来更新的。
在JavaScript编程语言演化的过程中,这门编程语言的设计者尝试去纠正早期版本的ES5版本的编程语言中的一些毛病,为了保持后向的兼容性,不太可能去移除合法的语法特征,不管这语法多么不好用。
但是在ES5发布之后,程序能够在JavaScript严格语法模式下工作,一些大的语法问题已经被消除了。能够使用严格语法模式的机制在后面的文章中会有相应的更新。
这一系列的文章同时也还会讨论和总结合法的JavaScript和严格的JavaScript语法之间的一些差异。
在ES6发布后,默认使用新语言特征通常都是在严格语法模式之下使用。
举例来说,如果你用ES6中的类关键字或者创建一个ES6的模块,然后所有的类或模块里面的代码都会自动设置成严格语法模式,而老的、有毛病的特征都不会再出现在ES6的上下文中。
本系列文章会覆盖JavaScript编程语言的合法特征,但很少会涉及到讲解为什么合法的JavaScript编程语言的特征在严格语法模式下也适用。