ECMAScript 6 學習之路 ( 六 ) 擴展運算符 和 reset 運算符

擴展運算符和reset運算符

擴展運算符和rest運算符,它們都是...(三個點),它們能夠很好的爲咱們解決參數和對象數組未知狀況下的編程,讓咱們的代碼更健壯和簡潔。javascript

擴展運算符
function fun(...args){
    console.log(args[0]);
    console.log(args[1]);
    console.log(args[2]);
    console.log(args[3]);
}
fun(1,2,3);
// 1
// 2
// 3
// undefined

擴展運算符的一個用處java

let arr1=['www','jspang','com'];
let arr2=arr1; // 因爲數組對象其實是一個引用類型,所以arr2  與 arr1指向了同一處
console.log(arr2);
arr2.push('shengHongYu'); //修改了 arr2 那麼 arr1也會被修改
console.log(arr1); 

// 爲了解決這個問題
let arr1 = ['11', '222', '2222'];
let arr2 = [...arr1];

console.log(arr2);
arr2.push('shengHongYu');
console.log(arr2);
console.log(arr1);
const [o1, ...ops] = ['one', 'two', 'three'];

// o1 one
// ops ['two', 'three']
const ops = ['one', 'two', 'three'];

const a = ['222',...ops];
console.log(a);

// ["222", "one", "two", "three"]
reset運算符

若是你已經很好的掌握了對象擴展運算符,那麼理解rest運算符並不困難,它們有不少類似之處,甚至不少時候你不用特地去區分。編程

function fun(first, ...arg) {
    console.log(arg.length);
    // 7
}

fun(0, 1, 2, 3, 4, 5, 6, 7);

輸出arg內容數組

function jspang(first,...arg){
    for(let val of arg){
        console.log(val);
    }
}

jspang(0,1,2,3,4,5,6,7);
相關文章
相關標籤/搜索