ECMAScript 2018 (简称 ES2018) 是 JavaScript 语言的最新标准,其中包含了许多新特性和语法糖。本文将详细介绍其中的三个新操作符及其用法,分别是:扩展运算符、剩余运算符和幂运算符。
扩展运算符
扩展运算符用于将一个数组或对象转换为多个参数,或将多个参数转换为一个数组。它的语法是三个点(...
)。
将数组转换为多个参数
扩展运算符可以将一个数组转换为多个参数传递给一个函数。例如:
function sum(a, b, c) { return a + b + c; } const arr = [1, 2, 3]; console.log(sum(...arr)); // 6
在上面的代码中,sum
函数接受三个参数,我们可以使用扩展运算符将数组 arr
转换为三个参数传递给 sum
函数,从而计算出它们的和。
将多个参数转换为数组
扩展运算符还可以将多个参数转换为一个数组。例如:
function toArray(...args) { return args; } console.log(toArray(1, 2, 3)); // [1, 2, 3]
在上面的代码中,toArray
函数接受多个参数,我们可以使用扩展运算符将这些参数转换为一个数组,从而返回它们组成的数组。
剩余运算符
剩余运算符与扩展运算符类似,但它是用于函数参数的。它的语法也是三个点(...
)。
剩余参数
剩余运算符可以将函数的多个参数转换为一个数组。例如:
function sum(...args) { return args.reduce((total, current) => total + current, 0); } console.log(sum(1, 2, 3)); // 6
在上面的代码中,sum
函数接受多个参数,我们可以使用剩余运算符将这些参数转换为一个数组 args
,从而计算它们的和。
剩余对象
剩余运算符还可以用于对象的解构赋值。例如:
const { x, y, ...rest } = { x: 1, y: 2, z: 3, w: 4 }; console.log(x); // 1 console.log(y); // 2 console.log(rest); // { z: 3, w: 4 }
在上面的代码中,我们使用剩余运算符将对象 { x: 1, y: 2, z: 3, w: 4 }
的 x
和 y
属性解构赋值给变量 x
和 y
,而剩余的属性则被赋值给变量 rest
。
幂运算符
幂运算符用于计算一个数的某个次方。它的语法是两个星号(**
)。
例如:
console.log(2 ** 3); // 8 console.log(10 ** -2); // 0.01
在上面的代码中,第一个例子计算 2 的 3 次方,即 $2^3=8$;第二个例子计算 10 的负二次方,即 $10^{-2}=0.01$。
总结
本文介绍了 ECMAScript 2018 中的三个新操作符:扩展运算符、剩余运算符和幂运算符。它们分别用于将数组或对象转换为多个参数或将多个参数转换为数组,将函数的多个参数转换为一个数组或对象的解构赋值,以及计算一个数的某个次方。它们可以使我们的代码更加简洁和易读,同时也提高了代码的可维护性和可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65f5eff92b3ccec22fe08e31