π‘ ES6μμ λμ λ μ€νλ λ λ¬Έλ² ... μ νλλ‘ λμ³ μλ μ¬λ¬ κ°λ€μ μ§ν©μ νΌμ³μ(spread) κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μΌλ‘ λ§λ λ€.
πΉ μ€νλ λ λ¬Έλ²μ μ¬μ©ν μ μλ λμμ Array, String, Map, Set, DOM 컬λ μ , arguments μ κ°μ΄ for...of λ¬ΈμΌλ‘ μνν μ μλ μ΄ν°λ¬λΈμ νμ λλ€.
π‘ μ€νλ λ λ¬Έλ²μ κ²°κ³Όλ¬Όμ κ°μΌλ‘ μ¬μ©ν μ X, μΌνλ‘ κ΅¬λΆν κ°μ λͺ©λ‘μ μ¬μ©νλ λ¬Έλ§₯μμλ§ μ¬μ© κ°λ₯
πΉ ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘
πΉ λ°°μ΄ λ¦¬ν°λ΄μ μμ λͺ©λ‘
πΉ κ°μ²΄ 리ν°λ΄μ νλ‘νΌν° λͺ©λ‘
01. ν¨μ νΈμΆλ¬Έμ μΈμ λͺ©λ‘μμ μ¬μ©νλ κ²½μ°
μμ 35-06 μλ apply λ©μλλ₯Ό νμ©νμ¬ Max κ°μ ꡬν κ²½μ°μ΄κ³ ,
μμ 35-07 μλ μ€νλ λ λ¬Έλ²μ μ¬μ©νμ¬ κ΅¬ν κ²½μ°μΈλ°, λ κ°κ²°νκ³ κ°λ μ±μ΄ μ’μ κ²μ νμΈν΄λ³Ό μ μλ€.
β οΈ Rest νλΌλ―Έν°μ ννκ° λμΌνμ¬ νΌλνμ§ μλλ‘ μ£Όμν΄μΌ νλ€.
β‘οΈ Rest νλΌλ―Έν°λ ν¨μμ μ λ¬λ μΈμλ€μ λͺ©λ‘μ λ°°μ΄λ‘ μ λ¬λ°κΈ° μν΄
β‘οΈ μ€νλ λ λ¬Έλ²μ μ¬λ¬ κ°μ κ°μ΄ νλλ‘ λμ³ μλ λ°°μ΄κ³Ό κ°μ μ΄ν°λ¬λΈμ νΌμ³μ κ°λ³μ μΈ κ°λ€μ λͺ©λ‘μ λ§λ€κΈ° μν΄
02. λ°°μ΄ λ¦¬ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
1. concat
πΉ 2κ°μ λ°°μ΄μ 1κ°μ λ°°μ΄λ‘ ν©μΉλ κ²½μ° concat λ©μλ μ¬μ©
2. splice
πΉ λ°°μ΄μ μ€κ°μ λ€λ₯Έ λ°°μ΄μ μμλ€μ μΆκ°νκ±°λ μ κ±°ν λ μ¬μ©
3. λ°°μ΄ λ³΅μ¬
πΉ λ°°μ΄μ 볡μ¬νλ €λ©΄ slice λ©μλλ₯Ό μ¬μ©
β‘οΈ μλ³Έ λ°°μ΄μ κ° μμλ₯Ό μμ 볡μ¬νμ¬ μλ‘μ΄ λ³΅μ¬λ³Έμ μμ±
4. μ΄ν°λ¬λΈμ λ°°μ΄λ‘ λ³ν
πΉ ES5μμ μ΄ν°λ¬λΈμ λ°°μ΄λ‘ λ³ννλ €λ©΄, Function.prototype.apply λλ Function.prototype.call λ©μλλ₯Ό μ¬μ©νμ¬ slice λ©μλλ₯Ό νΈμΆν΄μΌ νλ€.
β‘οΈ μ΄ν°λ¬λΈμ μ΄ν°λ¬λΈμ΄ μλ μ μ¬ λ°°μ΄ κ°μ²΄λ λ°°μ΄λ‘ λ³ν κ°λ₯
πΉ μ€νλ λ λ¬Έλ²μ μ¬μ©νμ¬ λ°°μ΄λ‘ λ³ν κ°λ₯
β‘οΈ μ΄ν°λ¬λΈμ΄ μλ μ μ¬ λ°°μ΄ κ°μ²΄λ μ€νλ λ λ¬Έλ²μ λμμ΄ λ μ μλ€.
03. κ°μ²΄ 리ν°λ΄ λ΄λΆμμ μ¬μ©νλ κ²½μ°
πΉ μ€νλ λ λ¬Έλ²μ λμμ μ΄ν°λ¬λΈμ΄μ΄μΌ νμ§λ§, μ€νλ λ νλ‘νΌν° μ μμ μΌλ° κ°μ²΄λ₯Ό λμμΌλ‘λ μ€νλ λ λ¬Έλ²μ μ¬μ©μ νμ©νλ€.
πΉ μ€νλ λ νλ‘νΌν°κ° μ μλκΈ° μ΄μ μλ Object.assign λ©μλλ₯Ό μ¬μ©νμ¬ μ¬λ¬ κ°μ κ°μ²΄λ₯Ό λ³ν©νκ±°λ νΉμ νλ‘νΌν°λ₯Ό λ³κ²½ λλ μΆκ°νλ€.
β‘οΈ μ€νλ λ νλ‘νΌν°λ Object.assign λ©μλλ₯Ό λμ±ν μ μλ κ°νΈν λ¬Έλ²μ΄λ€.
π μ°Έκ³ μλ£