ES6语法标准的语法标准的JavaScript新特性实现新特性实现
文章目录文章目录let 和 const 命令字符串扩展解构表达式函数优化
回顾一下前端的发展史[选看]
web1.0时代:
最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内开发人员也只关心页面的样式和内
容容即可
web2.0时代:
1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言。
1996年,微软发布了JScript,其实是JavaScript的逆向工程实现。
1997年,为了统一各种不同script脚本语言,ECMA(欧洲计算机制造商协会)以JavaScript为基础,制定了ECMAscript标准规范。
JavaScript和JScript都是ECMAScript的标准实现者,随后各大浏览器厂商纷纷实现了ECMAScript标准
所以,ECMAScript是浏览器脚本语言的规范规范,而各种我们熟知的js语言,如JavaScript则是规范的具体实现实现
ECMAScript的快速发展
1998年6月,ECMAScript 2.0 发布。
1999年12月,ECMAScript 3.0 发布。这时,ECMAScript 规范本身也相对比较完善和稳定了,但是接下来的事情,就比较悲剧了。
2007年10月,ECMAScript 4.0 草案发布。
这次的新规范,历时颇久,规范的新内容也有了很多争议。在制定ES4的时候,是分成了两个工作组同时工作的。
一边是以 Adobe, Mozilla, Opera 和 Google为主的 ECMAScript 4.0 工作组。
一边是以 Microsoft 和 Yahoo 为主的 ECMAScript 3.1 工作组。
ECMAScript 4 的很多主张比较激进,改动较大。而 ECMAScript 3.1 则主张小幅更新。最终经过 TC39 的会议,决定将一部分不那么激进
的改动保留发布为 ECMAScript 3.1,而ES4的内容,则延续到了后来的ECMAScript5和6版本中
2009年12月,ECMAScript 5 发布。
2011年6月,ECMAScript 5.1 发布。
2015年6月,ECMAScript 6,也就是 ECMAScript 2015 发布了。 并且从 ECMAScript 6 开始,开始采用年号来做版本。即 ECMAScript
2015,就是ECMAScript6。 它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
let 和和 const 命令命令
var
之前,js定义变量只有一个关键字:var
var有一个问题,就是定义的变量有时会莫名奇妙的成为全局变量,失去其范围性
for(var i = 0; i < 5; i++){
console.log(i);
}
console.log("循环外:" + i)
可见,变量i明明我们是当作局部变量来玩的,可它在for外居然还能用!
let
let所声明的变量,只在let命令所在的代码块内有效。
我们把刚才的var改成let试试: