天天看点

Js-w3school(2020.2.6)【ES6的变动】

(1)ES6 中的一些新特性。

• JavaScript let

• JavaScript const

• 幂 (

**

)

• 默认参数值

• Array.find()

• Array.findIndex()

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

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

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

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

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

(4)取幂运算符(

**

)将第一个操作数提升到第二个操作数的幂。

x ** y

的结果与

Math.pow(x,y)

相同

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

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

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

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

函数接受 3 个参数:

• 项目值

• 项目索引

• 数组本身

(7)新的数字属性

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

• EPSILON:极小的常量,Number.EPSILON实际上是 JavaScript 能够表示的最小精度。误差如果小于这个值,就可以认为已经没有意义了,即不存在误差了。

• MIN_SAFE_INTEGER:表示安全最小整数。JavaScript能够准确表示的整数范围在-253到253之间(不含两个端点),超过这个范围,无法精确表示这个值。

• MAX_SAFE_INTEGER:表示安全最大整数。

(8)新的数字方法

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

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

• Number.isSafeInteger():如果参数是安全整数。安全整数是可以精确表示为双精度数的整数

(9)新的全局方法

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

• isFinite():如果参数为 Infinity 或 NaN,则全局 isFinite() 方法返回 false。

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

(10)箭头函数

箭头函数允许使用简短的语法来编写函数表达式。您不需要 function 关键字、return 关键字以及花括号。

// ES5
var x = function(x, y) {
   return x * y;
}
           
// ES6
const x = (x, y) => x * y;
           

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

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

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

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

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