简介
ECMAScript6.0(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ECMAScript和JavaScript的关系
ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。日常场合,这两个词可以互换。
补充
CMAScript 6 是什么?
ECMAScript 6 也称为 ES6 和 ECMAScript 2015。
一些人把它称作 JavaScript 6。
本章介绍 ES6 中的一些新特性。
- JavaScript let
- JavaScript const
- 幂 (**)
- 默认参数值
- Array.find()
- Array.findIndex()
对 ES6(ECMAScript 2015)的浏览器支持
Safari 10 和 Edge 14 是首先完全支持 ES6 的浏览器:
| Chrome 58 | Edge 14 | Firefox 54 | Safari 10 | Opera 55 |
|---|---|---|---|---|
| Jan 2017 | Aug 2016 | Mar 2017 | Jul 2016 | Aug 2018 |
新特性
JavaScript let
- let语句允许使用块作用域声明变量
1 |
var x = 10; |
JavaScript const
const 语句允许您声明常量(具有常量值的 JavaScript 变量)。
常量类似于 let 变量,但不能更改值。
1 |
var x = 10; |
指数运算符
取幂运算符(**)将第一个操作数提升到第二个操作数的幂。
1 |
var x = 5; |
x ** y 的结果与 Math.pow(x,y) 相同:
1 |
var x = 5; |
默认参数值
ES6允许函数参数具有默认值
1 |
function (x,y=10){ |
Array.find()
find()方法返回通过测试函数的第一个数组元素的值。
此例查找(返回)第一个大于18的元素(的值):
1 |
var numbers = [4, 9, 16, 25, 29]; |
请注意次函数接受3个参数
- 项目值
- 项目索引
- 数组本身
Array.findIndex()
findIndex()方法返回通过测试函数的第一个数组元素的索引。
此例确定大于18的第一个元素的索引:
1 |
var numbers = [4, 9, 16, 25, 29]; |
请注意此函数接受 3 个参数:
- 项目值
- 项目索引
- 数组本身
新的数字属性
ES6 将以下属性添加到 Number 对象:
- EPSILON
- MIN_SAFE_INTEGER
- MAX_SAFE_INTEGER
1 |
var x = Number.EPSILON; |
x=2.220446049250313e-16
1 |
var x = Number.MIN_SAFE_INTEGER; |
x=-9007199254740991
1 |
var x = Number.MAX_SAFE_INTEGER; |
x=9007199254740991
新的数字方法
ES6为Number对象添加了2个新方法:
- Number,isInteger()
- Number.isSafeInteger()
Number.isInteger() 方法
如果参数是整数,则 Number.isInteger() 方法返回 true。
1 |
Number.isInteger(10); // 返回 true |
Number.isSafeInteger() 方法
安全整数是可以精确表示为双精度数的整数。
如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true。
1 |
Number.isSafeInteger(10); // 返回 true |
安全整数指的是从 -(253 - 1) 到 +(253 - 1) 的所有整数。
这是安全的:9007199254740991。这是不安全的:9007199254740992。
新的全局方法
ES6 还增加了 2 个新的全局数字方法:
- isFinite()
- isNaN()
isFinite() 方法
如果参数为 Infinity 或 NaN,则全局 isFinite() 方法返回 false。
否则返回 true:
1 |
isFinite(10/0); // 返回 false |
isNaN() 方法
如果参数是 NaN,则全局 isNaN() 方法返回 true。否则返回 false:
1 |
isNaN("Hello"); // 返回 true |
箭头函数(Arrow Function)
箭头函数允许使用简短的语法来编写函数表达式。
您不需要 function 关键字、return 关键字以及花括号。
1 |
// ES5 |
箭头功能没有自己的 this。它们不适合定义对象方法。
箭头功能未被提升。它们必须在使用前进行定义。
使用 const 比使用 var 更安全,因为函数表达式始终是常量值。
如果函数是单个语句,则只能省略 return 关键字和花括号。因此,保留它们可能是一个好习惯:
1 |
const x = (x, y) => { return x * y }; |




近期评论