在 ES6 中,扩展运算符(...
)是一种用来展开数组和对象的语法。它可以将一个数组或对象展开,以便在函数调用、数组字面量或对象字面量中使用。
1 // 1. 在数组中的应用: 2 let arr = [1,2,245,6] 3 let arr1 = [...arr,3,5,7] 4 console.log(arr1) //[1, 2, 245, 6, 3, 5, 7] 5 6 // 2. 在函数调用中的应用: 7 function set(...num){ 8 console.log(num) //[1, 2, 3] 9 } 10 set(1,2,3) 11 12 function set2(a,b,c){ 13 console.log(a+b+c) //248 14 return a+b+c 15 } 16 17 set2(...arr1) 18 19 // 3.在对象中的应用: 20 let obj ={ 21 a : 1 22 } 23 let obj1 = { 24 b: '2' 25 } 26 let obj2 = {...obj,...obj1} 27 console.log(obj2) //{a: 1, b: '2'}
扩展运算符(...
)的工作原理其实可以简单理解为将一个可迭代对象(比如数组、字符串等)展开成用逗号分隔的值序列。具体来说,扩展运算符在不同情况下的工作原理如下:
1. 在数组中的工作原理:
当在数组中使用扩展运算符时,它会将数组中的每一项元素都提取出来,然后放置在一个新数组中。这个过程是浅拷贝的,即只复制了引用,而不是深层复制。
2. 在函数调用中的工作原理:
在函数调用中使用扩展运算符时,它会将一个数组或类数组对象转换成用逗号分隔的参数序列,从而便于传递给函数。
3. 在对象中的工作原理:
在对象中使用扩展运算符时,它会将对象中的每个可枚举属性提取出来,然后放置在一个新对象中。
总的来说,扩展运算符的工作原理就是将可迭代对象进行展开操作,方便地将其中的元素组合在一起,或者将其作为参数传递给函数。这样可以简化代码书写,提高代码的可读性和灵活性。
在函数中使用扩展运算符可以带来多种便利的场景,以下是其中一些常见的应用:
1 // 1. 传递可变数量的参数 2 function sum(...number){ 3 4 return number.reduce((a,b)=>{ 5 console.log(a,b) 6 return a + b 7 },0) 8 } 9 console.log(sum(1,1,3,4)) //9 10 console.log(sum(1,2,3,4,5)) //15 11 12 // 2. 与普通参数结合使用 13 function fn(initial,...number){ 14 return number.reduce((a,b)=>{ 15 console.log(a,b) 16 return a + b 17 },initial) 18 } 19 20 console.log(fn(10,1,3,4,5)) //23 21 22 // 3. 与数组结合使用 23 let arr = [1,2,245,6] 24 let arr1 = [...arr,3,5,7] 25 function array(arr,arr1){ 26 27 return [...arr,...arr1] 28 29 } 30 console.log(array(arr,arr1)) //[1, 2, 245, 6, 1, 2, 245, 6, 3, 5, 7] 31 32 33 // 4. 与其他函数返回值结合使用 34 35 function getMinMax(...numbers) { 36 return [Math.min(...numbers), Math.max(...numbers)]; 37 } 38 39 console.log(getMinMax(3, 1, 4, 1, 5, 9, 2, 6)); // 输出 [1, 9]
标签:ES6,console,log,...,运算符,数组,return From: https://www.cnblogs.com/qinlinkun/p/18030019