ES6

一、概念

  ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

二、兼容性

  ES6(ES2015) ---> 兼容 IE10+ Chrome  FireFox 移动端  NodeJS  使用browser.js 解决各个浏览器兼容问题(下载地址:https://sourceforge.net/projects/browserjs/files/latest/download

三、新增特性

  1、let 和 const

        ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

    let、const与 var 的区别

    (1)var 对于相同的变量可重复声明与定义,后面声明的会覆盖前面声明的,浏览器不会报错,但是let与const不行,在浏览器会报错

    (2)通过var声明的变量会进行域解释(变量提前声明),但是在es6中通过let 或者 const声明的变量不存在域解释的感念

    (3)var 不存在块级作用域,var的作用域是window或者函数,let 和const存在块级作用域 块级作用域if(){  // 块级作用域  }, for(){ // 块级作用域}, { // 块级作用域  }

    (4)let 与 const的区别,let(变量)的值可以修改,但是const(常量)的值不能修改

  2、函数扩展

    箭头函数 (允许使用“箭头”(=>)定义函数

    (1)声明  普通函数  let fn = function(a){   alert(a*2) }; fn(3)   //  6  箭头函数  let fn = (a)=>{  alert(a*2) }; fn(3)  // 6

    (2)当箭头函数中只有一个参数时参数的括号可以省略,当箭头函数体内只有return时花括号可以省略  列: let fn = function(a){ return a}  等同于  let fn = a => a;如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回;如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了 例 let fn = () => void doesNotReturn();

    (3)扩展运算符 "

    (4)优点

      代码简介  例: 

      // 正常函数写法
      var result = values.sort(function (a, b) {
          return a - b;
      });

      // 箭头函数写法
      var result = values.sort((a, b) => a - b);

  

posted on 2019-11-22 10:23  ywx354980  阅读(77)  评论(0编辑  收藏  举报