1995年,JavaScript作为网景浏览器的一部分首次发布,起初并不叫JavaScript,而是叫LiveScript,但是因为当时Java正火,也算是为了搭上java的顺风车,于是改成了JavaScript,然而二者一点关系也没有。
1996年的时候,网景将JavaScript提交给了ECMA International,即欧洲计算机制造商协会,进行了标准化,并最终确定出来新的语言标准,即ECMAScript,此后,ECMAScript成为了JavaScript的实现基础,与DOM、BOM共同组成了JavaScript。
ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化,现在的浏览器已经相当于完全实现了这个标准。
ECMAScript6,即ES6,也称ES2015,是ECMAScript的第六次修订,于2015年完成,并且运用的范围逐渐开始扩大,因为其相对于ES5更加简洁,提高了开发速率,开发者也都在陆续进行使用,天猫已经开始将ES6投入了实际项目的开发之中。
下面是一些ES6中的新的特点:
ES6中的let命令,声明变量,用法和var差不多,但是let是为JavaScript新增了块级作用域,ES5中是没有块级作用域的,并且var有变量提升的概念,但是在let中,使用的变量一定要进行声明;
ES6中变量的结构赋值,比如:var [a,b,c] = [0,1,2];
ES6中不再像ES5一样使用原型链实现继承,而是引入Class这个概念,听起来和Java中的面向对象编程的语法有些像,但是二者是不一样的。
ES6中的函数定义也不再使用关键字function,而是利用了=>来进行定义;
ES6中可以设置默认函数参数,如function A(x,y=9){};
......
总之,ES6还有许多新的标准出现,但是像jQuery一样,对js的一些内容好像进行了封装一样,所以即使ES6将会更火,ES5中的标准和一些基础还是需要学习,标准的不断更新也是因为开发过程中,开发者们逐渐追求简单快捷的开发,就像是框架的兴起,同样是为了解决开发速率的迟缓,但是在基础的学习中,掌握原理是十分必要的,只有基础掌握的足够扎实,框架用起来也才能更加顺手。