概述
作为一名软件工程师,不管你是不是前端开发的岗位,工作中或多或少都会用到一点JavaScript。JavaScript是大家所了解的语言名称,但是这个语言名称是Oracle公司注册的商标。JavaScript的正式名称是ECMAScript。1996年11月,JavaScript的创造者网景公司将JS提交给国际化标准组织ECMA(欧洲计算机制造联合会),希望这种语言能够成为国际标准。随后,ECMA发布了规定浏览器脚本语言的标准,即ECMAScript,这也有利于这门语言的开放和中立。
ES6,全称ECMAScript 6.0,正式名称为ECMAScript 2015,是JavaScript的下一个版本标准,于2015年6月17日发布。
下面我们了解下ECMAScript的发展历程。
1997年,ECMAScript 1.0诞生。
1998年6月,ECMAScript 2.0诞生,包含一些小的更改,用于同步独立的ISO国际标准。
1999年12月,ECMAScript 3.0诞生,在业界得到了广泛的支持,它奠定了JS的基本语法。
2000年的ECMAScript 4.0是ES6的前身,但由于这个版本太过激烈,所以暂时被“和谐”了。
2009年12月,ECMAScript 5.0版正式发布。ECMA专家组预计ECMAScript的第五个版本会在2013年中期到2018年作为主流的开发标准。2011年6月,ES 5.1版发布,并且成为ISO国际标准。
2013年,ES6草案被冻结,不再添加新的功能,新的功能将被放到ES7中。
2015年6月,ES6正式通过,成为国际标准。
JavaScript ES6提出了很多新的特性,它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
let关键字
let用来声明局部变量,是块级作用域。函数内部使用let定义后,对函数外部无影响,而且有暂时性死区的约束。
{ let i = 9; } // 提示找不到i的错误 console.log(i); let a = 99; f(); // 输出:99 console.log(a); function f() { // 提示找不到i的错误 console.log(a); let a = 10; // 输出:10 console.log(a); }
const关键字
const用来声明常量,用它定义的变量不可以修改,而且必须初始化。常量的值不能通过重新赋值来改变,并且不能重新声明。
const foo = {}; foo.prop = 123; // 其属性可以修改,正常输出:123 console.log(foo.prop) // 报错,const变量自身不可修改 foo = {};