首页
会员中心
到顶部
到尾部
JavaScript教程

ECMAScript 6 - ECMAScript 2015

时间:2020/11/2 14:54:36  作者:  来源:  查看:0  评论:0
内容摘要:ECMAScript 6 - ECMAScript 2015JS 版本 ES5JS JSONECMAScript 6 是什么?ECMAScript 6 也称为 ES6 和 ECMAScript 2015。一些人把它称作 JavaScript 6。本章介绍 ES6 中的一些新特性。...

ECMAScript 6 - ECMAScript 2015

ECMAScript 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 58Edge 14Firefox 54Safari 10Opera 55
Jan 2017Aug 2016Mar 2017Jul 2016Aug 2018

JavaScript let

let 语句允许您使用块作用域声明变量。

实例

var x = 10;// Here x is 10{   let x = 2;  // Here x is 2}// Here x is 10

亲自试一试

JavaScript const

const 语句允许您声明常量(具有常量值的 JavaScript 变量)。

常量类似于 let 变量,但不能更改值。

实例

var x = 10;// Here x is 10{   const x = 2;  // Here x is 2}// Here x is 10

亲自试一试

请在我们的 JavaScript Let / Const 章节中阅读更多关于 letconst 的内容。

指数运算符

取幂运算符(**)将第一个操作数提升到第二个操作数的幂。

实例

var x = 5;var z = x ** 2;          // 结果是 25

亲自试一试

x ** y 的结果与 Math.pow(x,y) 相同:

实例

var x = 5;var z = Math.pow(x,2);   // 结果是 25

亲自试一试

默认参数值

ES6 允许函数参数具有默认值。

实例

function myFunction(x, y = 10) {  // y is 10 if not passed or undefined  return x + y;}myFunction(5); // 将返回 15

亲自试一试

Array.find()

find() 方法返回通过测试函数的第一个数组元素的值。

此例查找(返回)第一个大于 18 的元素(的值):

实例

var numbers = [4, 9, 16, 25, 29];var first = numbers.find(myFunction);function myFunction(value, index, array) {  return value > 18;}

亲自试一试

请注意此函数接受 3 个参数:

  • 项目值
  • 项目索引
  • 数组本身

Array.findIndex()

findIndex() 方法返回通过测试函数的第一个数组元素的索引。

此例确定大于 18 的第一个元素的索引:

实例

var numbers = [4, 9, 16, 25, 29];var first = numbers.findIndex(myFunction);function myFunction(value, index, array) {  return value > 18;}

亲自试一试

请注意此函数接受 3 个参数:

  • 项目值
  • 项目索引
  • 数组本身

新的数字属性

ES6 将以下属性添加到 Number 对象:

  • EPSILON
  • MIN_SAFE_INTEGER
  • MAX_SAFE_INTEGER

实例

var x = Number.EPSILON;

亲自试一试

实例

var x = Number.MIN_SAFE_INTEGER;

亲自试一试

实例

var x = Number.MAX_SAFE_INTEGER;

亲自试一试

新的数字方法

ES6 为 Number 对象添加了 2 个新方法:

  • Number.isInteger()
  • Number.isSafeInteger()

Number.isInteger() 方法

如果参数是整数,则 Number.isInteger() 方法返回 true

实例

Number.isInteger(10);        // 返回 trueNumber.isInteger(10.5);      // 返回 false

亲自试一试

Number.isSafeInteger() 方法

安全整数是可以精确表示为双精度数的整数。

如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true

实例

Number.isSafeInteger(10);    // 返回 trueNumber.isSafeInteger(12345678901234567890);  // 返回 false

亲自试一试

安全整数指的是从 -(253 - 1) 到 +(253 - 1) 的所有整数。

这是安全的:9007199254740991。这是不安全的:9007199254740992。

新的全局方法

ES6 还增加了 2 个新的全局数字方法:

  • isFinite()
  • isNaN()

isFinite() 方法

如果参数为 InfinityNaN,则全局 isFinite() 方法返回 false。

否则返回 true:

实例

isFinite(10/0);       // 返回 falseisFinite(10/1);       // 返回 true

亲自试一试

isNaN() 方法

如果参数是 NaN,则全局 isNaN() 方法返回 true。否则返回 false

实例

isNaN("Hello");       // 返回 true

亲自试一试

箭头函数(Arrow Function)

箭头函数允许使用简短的语法来编写函数表达式。

您不需要 function 关键字、return 关键字以及花括号

实例

// ES5var x = function(x, y) {   return x * y;}// ES6const x = (x, y) => x * y;

亲自试一试

箭头功能没有自己的 this。它们不适合定义对象方法

箭头功能未被提升。它们必须在使用进行定义。

使用 const 比使用 var 更安全,因为函数表达式始终是常量值。

如果函数是单个语句,则只能省略 return 关键字和花括号。因此,保留它们可能是一个好习惯:

实例

const x = (x, y) => { return x * y };

亲自试一试



相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号