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中的标准和一些基础还是需要学习,标准的不断更新也是因为开发过程中,开发者们逐渐追求简单快捷的开发,就像是框架的兴起,同样是为了解决开发速率的迟缓,但是在基础的学习中,掌握原理是十分必要的,只有基础掌握的足够扎实,框架用起来也才能更加顺手。

面试中的一些小问题之ES5和ES6的区别?的更多相关文章

  1. 面试中的一些小问题之html5和html4的区别?

    HTML5建立的一些新规则: 新特性应该基于HTML.CSS.DOM.JavaScript: 减少对外部插件的需求,如flash将会用video标签和audio标签代替: 更加优秀的错误处理: 更多取 ...

  2. 多角度对比 ES5与ES6的区别

    ES5与ES6的对比不同点整理 本文关键词:ES6,javascript, 1.Default Parameters(默认参数) es6之前,定义默认参数的方法是在一个方法内部定义 var link ...

  3. 用ES6巧妙的解决传统面试中的算法小问题!

    最近自己也在准备面试,在复习算法的时候,机智的用了一波ES6.一起来瞧瞧吧! 1.数组的去重 var arr=str.split(''); for(var i=0;i<arr.length-1; ...

  4. es5和es6的区别

    ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化ECMAScript6,即ES6,是ECMAScript的第六次修订,于2015年完成,也称ES2015ES ...

  5. JavaScript、ES5、ES6的区别

    一.什么是JavaScript 1.JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能. 动态:在运行时确定数据类型.变量使用之前不需要类型声明,通常变 ...

  6. JavaScript,ES5和ES6的区别

    什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型.变量使用之前不 ...

  7. 常用es5和es6语法区别,以及三个点的用法

    链接:https://www.jianshu.com/p/b4d48e9846e7 //三个点 链接:https://blog.csdn.net/qiladuo1207/article/details ...

  8. ES5和ES6作用域

    ES5和ES6作用域 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  9. ES5/ES6的区别研究(ECMAScript)

    我所理解的概念应该是语法的区别和特性的区别 这里是ECMAScript的解析http://baike.baidu.com/item/ECMAScript 参考: (ES6)http://es6.rua ...

随机推荐

  1. SAS编程基础 - 逻辑库和数据集

    1. SAS逻辑库 1.1 创建SAS逻辑库: libname lb 'F:\Data_Model'; libname是关键字,lb是创建的逻辑库的名称,引号内的内容是目录路径,最后一个分号结束程序语 ...

  2. 第三课 MongoDB 数据更新

    1.课程大纲 本课程主要解说 MongoDB 数据更新的相关内容.包含文档插入 insert 函数.文档删除 remove函数以及文档更新update函数的基本使用.除此之外.还会介绍 MongoDB ...

  3. Django学习系列之模板

    什么是django模板 模板是一个文本,用于分离文档的表现形式和内容,模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签) 模板通常用于产生HTML 如何使用模板 创建一个Tem ...

  4. Maven项目中遇到的奇葩问题(续)

    场景描写叙述 开发项目搞环境是一个很蛋疼的问题.总是会遇到各种奇葩的问题,上一篇文章http://blog.csdn.net/gao36951/article/details/50955526中遇到的 ...

  5. 1451 - Average 高速求平均值

    怎样高速求取一段区间的平均值 用前缀的思想来看 很easy 可是 本题题意要求的是 大于等于一段长度的区间的平均值的最大值 并且给出的数据范围非常大 O(n*L)的直白比較算法 用于解决此问题不合适 ...

  6. HDU 5407 CRB and Candies(LCM +最大素因子求逆元)

    [题目链接]pid=5407">click here~~ [题目大意]求LCM(Cn0,Cn1,Cn2....Cnn)%MOD 的值 [思路]来图更直观: 这个究竟是怎样推出的.说实话 ...

  7. 看opengl写代码(7) 使用混合数组(glInterLeavedArrays)

    glInterLeavedArrays 函数  有 三个 參数 : mode ,stride,pointer. mode :指示 开启 哪些 顶点数组,以及 顶点数组 使用的 数据类型. 其余的 顶点 ...

  8. mac中apache+mysql+php+phpMyAdmin配置备忘

    Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配 ...

  9. 工作总结 default Console.WriteLine(default(Guid));

    泛型代码中的默认关键字 在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构. 给定参数化 ...

  10. 使用 dva + antd 快速开发react应用

    使用 dva + antd 快速开发react应用 版本说明: 注意:dva的版本是0.9.2 $ node -v v10.2.1 $ npm -v $ dva -v dva-cli version ...