在JavaScript中,...
?是一个扩展操作符,也被称为剩余操作符或展开操作符。它主要有以下几种用法:
1.数组展开:用于将一个数组展开到另一个数组中。
let arr1 = [1, 2, 3]; | |
let arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5] |
2.对象展开:用于合并对象。
let obj1 = { a: 1, b: 2 }; | |
let obj2 = { ...obj1, c: 3 }; // { a: 1, b: 2, c: 3 } |
3.函数参数展开:用于将一个数组或对象展开为函数的参数。
function myFunction(...args) { | |
console.log(args); | |
} | |
myFunction(1, 2, 3); // [1, 2, 3] |
4.剩余参数:与函数参数展开结合使用,用于收集剩余的参数到一个数组中。
function myFunction(...args) { | |
console.log(args); | |
} | |
myFunction(1, 2, 3, 4, 5); // [1, 2, 3, 4, 5] |
5.解构赋值中的剩余:在解构赋值中,可以使用剩余操作符来收集剩余的值到一个数组或对象中。
let [first, ...rest] = [1, 2, 3, 4]; // first = 1, rest = [2, 3, 4] | |
let { x, ...others } = { x: 10, y: 20, z: 30 }; // x = 10, others = { y: 20, z: 30 } |
以上就是JavaScript中...
的几种主要用法。这个操作符在处理数组和对象时非常有用,可以简化代码并提高可读性。
args
表示将剩余的值收集到args
数组中, ...args不是数组,是args的展开表示,
args是数组,已知其中任意一个隐式的知道另一个.可以理解为一个数组参数的两个面.