...μ μ΄μ©ν΄ λμ³ μλ κ°λ€μ μ§ν©μ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μΌλ‘ λ§λ λ€.
π μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ κ°μ΄ μλλ€.
λ°λΌμ μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ λ³μμ ν λΉν μ μλ€.
π©» 35.1 ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μμ μ¬μ©νλ κ²½μ°
Math.max()
Math.max(...[1, 2, 4, 5]) μ΄λ° μμΌλ‘ μ¬μ© κ°λ₯.
- κ°μλ₯Ό νμ ν μ μλ κ°λ³ μΈμ ν¨μ
πRest νλΌλ―Έν°μ ν·κ°λ¦¬μ§ λ§ κ²!
Rest νλΌλ―Έν° : ν¨μμ μ λ¬λ μΈμλ€μ λͺ©λ‘μ λ°°μ΄λ‘ μ λ¬λ°κΈ° μν¨.
μ€νλ λ λ¬Έλ² : μ¬λ¬κ°μ κ°μ΄ νλλ‘ λμ³μλ λ°°μ΄κ³Ό κ°μ μ΄ν°λ¬λΈμ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μ λ§λλ κ².
=> μλ‘ λ°λμ κ°λ
//Rest λ¬Έλ² μμ
function foo(...rest) {
console.log(Array.isArray(rest)); // true
console.log(rest); // [ 1, 2, 3, 4, 5 ]
}
foo(1, 2, 3, 4, 5);
π©» 35.2 λ°°μ΄ λ¦¬ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
35.2.1 concat
- 2κ°μ λ°°μ΄μ 1κ°μ λ°°μ΄λ‘ κ²°ν©νκ³ μΆμ κ²½μ°, concat λμ μ¬μ© κ°λ₯.
const arr1 = [1,2].concat([3,4]);
const arr2 = [...[1,2], ...[3,4];
//λ λ€ [1, 2, 3, 4]
35.2.2 splice
- λ°°μ΄μ μ€κ°μ λ€λ₯Έ μμλ₯Ό μΆκ°νκ±°λ μ κ±°ν λ
const arr1 = [1,4];
const arr2 = [2, 3];
//splice μ¬μ©
arr1.splice(1, 0, arr2); //[1, [2, 3], 4] κ° λμ΄.
//spread μ ν¨κ» μ¬μ©
arr1.splice(1, 0, ...arr2); //[1, 2, 3, 4]
35.2.3 λ°°μ΄ λ³΅μ¬
const arr = [1, 2];
arr.slice(); ν κ²κ³Ό
[...arr] ν κ²κ³Ό κ°μ
=> κ° λ°°μ΄μ μμ 볡μ¬κ° μ΄λ£¨μ΄μ§.
35.2.4 μ΄ν°λ¬λΈμ λ°°μ΄λ‘ λ³ν
π©» 35.3 κ°μ²΄ 리ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
μΌλ° κ°μ²΄λ μ€νλ λ μ°μ°μ μ¬μ© κ°λ₯.
const merged = { x:1, y:2, ...{a:3, b:4}};
console.log(merged);
//{ x:1, y:2, a:3, b:4}
=> νλ‘νΌν°κ° μ€λ³΅λλ κ²½μ°, λ€μ μμΉν νλ‘νΌν°κ° μ°μ κΆμ κ°λλ€.
{ ...{x:1, y:2}, ...{y:10, z:3}}
// { x:1, y:10, z:3 }
'λ μ λͺ©λ‘ > λͺ¨λ₯λ€ Modern JS Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ¨λ₯λ€] 37μ₯ Setκ³Ό Map (2) | 2023.06.04 |
---|---|
[λͺ¨λ₯λ€] 36μ₯ λμ€νΈλμ²λ§ ν λΉ (0) | 2023.06.04 |
[λͺ¨λ₯λ€] 34μ₯ μ΄ν°λ¬λΈ (0) | 2023.06.01 |
[λͺ¨λ₯λ€] 32μ₯ String (0) | 2023.05.29 |
[λͺ¨λ₯λ€] 31μ₯ RegExp (0) | 2023.05.27 |