μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- fetch API
- λ°λΈμ½μ€
- μλ°μ€ν¬λ¦½νΈ
- CSS
- useRef
- Gatsby
- useEffect
- μκ³ λ¦¬μ¦
- Flex
- float
- history api
- position
- REACT
- νλ‘κ·Έλλ¨Έμ€
- λ°λΈμ½μ€3κΈ°
- μ½λ©ν μ€νΈ
- νλ‘ νΈμλ
- λΈλ‘κ·Έ
- Props
- Today
- Total
Daehyunii's Dev-blog
35μ₯ μ€νλ λ λ¬Έλ² λ³Έλ¬Έ
35μ₯ μ€νλ λ λ¬Έλ²
Daehyunii 2022. 7. 28. 13:18ES6μμ λμ λ μ€νλ λ λ¬Έλ²(μ κ° λ¬Έλ²) ...μ νλλ‘ λμ³ μλ μ¬λ¬ κ°λ€μ μ§ν©μ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μΌλ‘ λ§λ λ€. μ€νλ λ λ¬Έλ²μ μ¬μ©ν μ μλ λμμ for...of λ¬ΈμΌλ‘ μνν μ μλ μ΄ν°λ¬λΈμ νμ λλ€.
// ...[1,2,3]μ [1,2,3]μ κ°λ³ μμλ‘ λΆλ¦¬νλ€.
console.log(...[1,2,3]); // 1 2 3
// λ¬Έμμ΄μ μ΄ν°λ¬λΈμ΄λ€
console.log(...'hello'); // h e l l o
// μ΄ν°λ¬λΈμ΄ μλ μΌλ° κ°μ²΄λ μ€νλ λ λ¬Έλ²μ λμμ΄ λ μ μλ€.
console.log(...{a : 1}) // TypeError λ°μ
μ¬κΈ°μ μ£Όμν΄μΌ ν μ μ μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ κ°μ΄ μλλΌ κ°λ€μ λͺ©λ‘μ΄λ€. μ΄λ μ€νλ λ λ¬Έλ² ...μ΄ νΌμ°μ°μλ₯Ό μ°μ°νμ¬ κ°μ μμ±νλ μ°μ°μκ° μλμ μλ―Ένλ€. λ°λΌμ μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ μ§μ λ³μμ ν λΉν μ μλ€.(κ°μ΄ μλλ―λ‘)
// μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ κ°μ΄ μλλ€!!
const spread = ...[1,2,3]; // SyntaxError λ°μ
μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ¬Όμ κ°μΌλ‘ μ¬μ©ν μ μκ³ μΌνλ‘ κ΅¬λΆν κ°μ λͺ©λ‘μ μ¬μ©νλ λ¬Έλ§₯μμλ§ μ¬μ©ν μ μλ€.
1. ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μ ... μ¬μ©
2. λ°°μ΄ λ¦¬ν°λ΄μ μμ λͺ©λ‘μ ... μ¬μ©
3. κ°μ²΄ 리ν°λ΄μ νλ‘νΌν° λͺ©λ‘μ ...μ¬μ©
35.1 ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μμ μ¬μ©νλ κ²½μ°
μμλ€μ μ§ν©μΈ λ°°μ΄μ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μΌλ‘ λ§λ ν, μ΄λ₯Ό ν¨μμ μΈμ λͺ©λ‘μΌλ‘ μ λ¬ν΄μΌ νλ κ²½μ°κ° μλ€.
const arr = [1, 2, 3];
const max = Math.max(...arr);
console.log(max); // 3
μμ μ½λμ²λΌ ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μ λ°°μ΄μ μμλ€μ νλ νλ κΊΌλ΄μ μ λ¬ ν νμμμ΄ μ€νλ λ λ¬Έλ²μ ν΅ν΄ λ°°μ΄λ΄μ μμλ€μ λͺ©λ‘μ νΌμ³μ ν¨μ νΈμΆλ¬Έμ μΈμλͺ©λ‘μ ν λ²μ μ λ¬ν μ μλ€.
35.2 λ°°μ΄ λ¦¬ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
μ€νλ λ λ¬Έλ²μ λ°°μ΄ λ¦¬ν°λ΄μμ μ¬μ©νλ©΄ ES5μμ μ¬μ©νλ κΈ°μ‘΄μ λ°©μλ³΄λ€ λμ± κ°κ²°νκ³ κ°λ μ± μ’κ² ννν μ μλ€.
35.2.1 concat
ES5μμ 2κ°μ λ°°μ΄μ 1κ°μ λ°°μ΄λ‘ κ²°ν©νκ³ μΆμ κ²½μ° λ°°μ΄ λ¦¬ν°λ΄λ§μΌλ‘ ν΄κ²°ν μ μκ³ concat λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ€.
var arr = [1,2].concat([3,4]);
console.log(arr); // [1, 2, 3, 4]
νμ§λ§ μ€νλ λ λ¬Έλ²μ μ¬μ©νλ©΄ λ³λμ λ©μλλ₯Ό μ¬μ©νμ§ μκ³ λ°°μ΄ λ¦¬ν°λ΄λ§μΌλ‘ 2κ°μ λ°°μ΄μ 1κ°μ λ°°μ΄λ‘ κ²°ν©ν μ μλ€.
const arr = [...[1,2],...[3,4]];
console.log(arr); // [1, 2, 3, 4]
35.2.3 λ°°μ΄ λ³΅μ¬
ES5μμ λ°°μ΄μ 볡μ¬νλ €λ©΄ slice λ©μλλ₯Ό μ¬μ©νλ€.
var origin = [1, 2];
var copy = origin.slice();
console.log(copy); // [1, 2]
console.log(copy === origin); // false
μ€νλ λ λ¬Έλ²μ μ¬μ©νλ©΄ λμ± κ°κ²°νκ³ κ°λ μ± μ’κ² ννν μ μλ€.
var origin = [1, 2];
var copy = [...origin];
console.log(copy); // [1, 2]
console.log(copy === origin); // false
35.3 κ°μ²΄ 리ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
μ€νλ λ λ¬Έλ²μ λμμ μ΄ν°λ¬λΈμ΄μ΄μΌ νμ§λ§ μ€νλ λ νλ‘νΌν° μ μμ μΌλ° κ°μ²΄λ₯Ό λμμΌλ‘λ μ€νλ λ λ¬Έλ²μ μ¬μ©μ νμ©νλ€.
// κ°μ²΄ 볡μ¬
const obj = {x : 1, y : 2};
const copy = {...obj};
console.log(copy); // {x: 1, y: 2}
console.log(obj === copy); // false
//κ°μ²΄ λ³ν©
const merged = {x : 1, y : 2, ...{a : 3, b : 4}};
console.log(merged); // {x: 1, y: 2, a: 3, b: 4}
μ΄μ²λΌ μ€νλ λ λ¬Έλ²μ νμ©νλ©΄ κΈ°μ‘΄μ λ©μλλ₯Ό νμ©νμ¬ κ΅¬νν΄μΌ νλ λμλ€μ κ°λ μ± μ’κ³ νΈλ¦¬νκ² κ΅¬νν μ μλ€.
'π Language & CS knowledge > JavaScript (λͺ¨λμλ°μ€ν¬λ¦½νΈ Deep Dive)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
37μ₯ Setκ³Ό Map (0) | 2022.07.28 |
---|---|
36μ₯ λμ€νΈλμ²λ§ ν λΉ (0) | 2022.07.28 |
34μ₯ μ΄ν°λ¬λΈ (0) | 2022.07.27 |
32μ₯ String (0) | 2022.07.27 |
28μ₯ Number (0) | 2022.07.27 |