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);