(1)對象擴展運算符
let arr1 = [ 'www', 'baidu', 'com']
let arr2= arra1
arr2.push( 'js' )
console.log(arr2) // [ 'www', 'baidu', 'com' ]
console.log(arr1) // [ 'www', 'baidu', 'com', 'js']
當在arr2中push一個值時,arr1也會被改變,因為並沒有在內存中重新開辟一個空間,只是映射了一個arr2,所以arr1同時被改變
為了使arr1不被改變,可以使用 ... 運算符
let arr1 = [ 'www', 'baidu', 'com']
let arr2= [ ...arr1 ] // 將arr1的內容賦值給arr2
arr2.push( 'js' )
console.log(arr2) // [ 'www', 'baidu', 'com' ]
console.log(arr1) // [ 'www', 'baidu', 'com']
(2)rest 運算符 rest是剩余的意思
當傳入的參數不確定時,使用rest運算符
function js(first,...arg) {
console.log(first) // 0
console.log(arg.length) // 7
取出arg中的每一個值
for (let val of arg) {
console.log(val)
}
}
js (0,1,2,3,4,5,6,7)