他人のソースコードを読むと、こんな書き方あったんかい!? と驚くことが有ります。
const hash1 = {
'color': 'red',
'shape': 'trapezoid',
};
const hash2 = {
'color': 'pink',
'foo': 'bar',
}
const hash3 = {
...hash1,
...hash2,
};
console.log(hash3);
結果
{ color: 'pink', shape: 'trapezoid', foo: 'bar' }
配列が確かにマージ(統合)できる。 そして、JavaScript では 先頭から実行されるためにも、上記の場合 hash1 と hash2 の値が衝突した時は、後ろに書かれた hash2 が優先される。
なるほど。
!
は 論理否定演算子。
!!
はというと...? 単純に 型を Boolean にする方法。
let value1 = "HELLO";
console.log(!!value1);
let value2 = 200;
console.log(!!value2);
let value3 = 0;
console.log(!!value3);
let value4 = "";
console.log(!!value4);
結果
true // value1: "HELLO"
true // value2: 200
false // value3: 0
false // value4: ""
なるほど。