ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是EuropeanComputerManufacturersAssociation)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为Javascript或JScript,所以它可以理解为是javascript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。
严格模式
从ES5开始,函数内部可以设定为严格模式。ES2016做了一些修改,规定只要函数参数使用了默认值、解构赋值、或者扩展运算符,则该函数内部就不能显式设定为严格模式,否则会报错。
这样规定是因为函数内部的严格模式,同时适用于函数体和函数参数,但函数在执行的时候,先执行函数参数,然后再执行函数体,这样就有一个不合理的地方,只有从函数体之中,才能知道参数是否应该以严格模式执行,但是参数却应该先于函数体执行。
尾调用及尾调用优化
尾调用(TailCall)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数。
ECMAScript2016的制定工作已经启动,许多草案已被提交到委员会,包括以下这些:异步方法、定型对象、并行JavaScript、类修饰符以及observables。虽然委员会正在积极评估这些特性,但我们无法预知它们的未来,其中一些会加入到下一版规范,另一些会加入未来的其它规范,剩下的将最终被遗弃。TC39进程解释了新特性从开始到最终被语言采用所经历的各种阶段。
ECMA-262定义了ECMAScript支持的一套关键字,这些关键字标识了ECMAScript语句的开头和/或结尾。根据规定,关键字是保留的,不能用作变量名或函数名。