亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JavaScript中展開運算符

發布時間:2021-01-15 14:53:41 來源:億速云 閱讀:165 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在JavaScript中展開運算符,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

展開運算符(spread operator)允許一個表達式在某處展開。展開運算符在多個參數(用于函數調用)或多個元素(用于數組字面量)或者多個變量(用于解構賦值)的地方可以使用。

let obj1 = {
 value1: 1,
 value2: 2
};
let obj2 = {...obj1
};
console.log(obj2); // {value1: 1, value2: 2}

上面的用法實際相當于

obj2 = {value1: 1, value2: 2}

展開運算符的寫法與obj2 = obj1直接賦值的寫法的區別在于如果直接賦值的話,對于引用類型來說,相當于只是賦值了obj1的內存空間地址,當obj2發生改變的時候,obj1也會隨著發生改變。而是用展開運算符寫法的話,由于obj1對象中的屬性類型都是基本類型,相當于重新創建了一個對象,此時obj2發生改變的時候,并不會影響obj1這個對象。但是僅限于其屬性都為基本類型的情況(或者說只進行了一層的深拷貝)。如果該對象中的屬性還有引用類型的話,修改屬性中引用類型的值,則兩個對象的屬性值都會被修改。

let obj1 = {
 attri1: [3, 6, 0],
 attri2: 4,
 attri4: 5
};
let obj2 = {...obj1
};

obj2.attri2 = 888;
obj2.attri1[0] = 7;

console.log('obj1:', obj1);
console.log('obj2:', obj2);

展開運算符的應用

1.在函數中使用展開運算符

function test(a, b, c){};

let arr = [1, 2, 3];
test(...arr);

2.數組字面量中使用展開運算符

let arr1 = [1, 2];
let arr2 = [...arr1, 3, 4]; // [1, 2, 3, 4]

// 使用push方法
let arr1 = [1, 2];
let arr2 = [3. 4];
arr1.push(...arr2); // [1, 2, 3, 4]

3.用于解構賦值,解構賦值中展開運算符只能用在最后,否則會報錯。

// 解構賦值中展開運算符只能用在最后。
let [a, b, ...c] = [1, ,2, 3, 4]
console.log(a, b, c) // 1, 2, [3, 4]

4.類數組變成數組

let oLis = document.getElementsByTagName("li");
let liArr = [...oLis];

5.對象中使用展開運算符
ES7中的對象展開運算符符可以讓我們更快捷地操作對象:

let {x,y,...z}={x:1,y:2,a:3,b:4};
x; // 1
y; // 2
z; // {a:3,b:4}

將一個對象插入另外一個對象當中:

let z={a:3,b:4};
let n={x:1,y:2,...z};
console.log(n); //{x:1,y:2,a:3,b:4}

合并兩個對象:

let a={x:1,y:2};
let b={z:3};
let ab={...a,...b};
console.log(ab); // {x:1,y:2,z:3}

上述內容就是怎么在JavaScript中展開運算符,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宿松县| 安西县| 凉城县| 蓝田县| 方山县| 汾阳市| 吴桥县| 张家口市| 东丽区| 托里县| 平武县| 平顶山市| 尚义县| 孝感市| 富裕县| 中山市| 西宁市| 汶上县| 息烽县| 宝坻区| 昌平区| 江西省| 霍山县| 龙州县| 凭祥市| 兴文县| 大厂| 海兴县| 朔州市| 武定县| 邮箱| 朝阳市| 台山市| 长顺县| 文登市| 寿光市| 高州市| 宜川县| 呼和浩特市| 汪清县| 治县。|