延展操作符 擴充套件運算子

2021-10-01 22:10:03 字數 809 閱讀 2434

擴充套件運算子(spread)是三個點(…)。它好比 rest 引數的逆運算,將乙個陣列轉為用逗號分隔的引數序列。

他的應用:

(1)複製陣列

const a = [1,2,3]

複製 cosnt b = […a]

(2)合併陣列

cosnt arr1 = [1,2]

const arr2 = [4,5,6]

合併[…arr1,…arr2],注意這種方式是淺拷貝,如果修改了引用指向的值,會同步反映到新陣列

(3)與解構賦值結合

例子:const [first, …rest] = [1, 2, 3, 4, 5];

first // 1

rest // [2, 3, 4, 5]

const [first, …rest] = ;

first // undefined

rest //

const [first, …rest] = [「foo」];

first // 「foo」

rest //

如果將擴充套件運算子用於陣列賦值,只能放在引數的最後一位,否則會報錯。

(4)字串

擴充套件運算子還可以將字串轉為真正的陣列。

涉及到操作四個位元組的 unicode 字元的函式最好都用擴充套件運算子改寫。

『x\ud83d\ude80y』.length // 4

[…『x\ud83d\ude80y』].length // 3

(5)實現了 iterator 介面的物件

(6)map 和 set 結構,generator 函式

詳情見:

位運算子 操作符

按位與 按位或 取反 按位異或 按位異或可以實現兩個變數值的交換,但是並不推薦。a b b a a b 都是雙目運算子,將二進位制向左移動指定位,高位丟棄,低位補0.當為負數時,根據編譯系統的規定補0,或者1.例 0x01 2 3 這裡要考慮運算子的優先順序。的優先順序大於 的優先順序,所以0x01...

運算子以及操作符大全

c的運算子有以下幾類 1.算術運算子 2.關係運算子 3.邏輯運算子 4.位運算子 5.賦值運算子 及擴充套件賦值運算子 6.條件運算子 7.逗號運算子 8.指標運算子 和 9.求位元組數運算子 sizeof 10.強制型別轉換 運算子 型別 11.分量運算子 12.下標 運算子 13.其他 如 函...

操作符 (邏輯運算子)

操作符 關係操作符 關係操作符 關係操作符 比較兩個變數之間的關係 大於 大於或等於 小於 小於或等於 是否相等 是否不等 邏輯運算子 長路與 和 短路與 長路或 和 短路或 取反 異或 邏輯運算子 public class count 長路或和短路或 無論長路或還是短路或 兩邊的運算單元都是布林值...