ES6+ Basic1

μΈν”„λŸ° ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό JavaScript ES6+ / μœ μΈλ™

ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°

일급 ν•¨μˆ˜

  • μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ ν•¨μˆ˜λŠ” κ°’μœΌλ‘œ λ‹€λ£° 수 있음(인자, λ³€μˆ˜, 리턴값 λ“±)

  • μ‘°ν•©μ„±κ³Ό μΆ”μƒν™”μ˜ 도ꡬ

κ³ μ°¨ ν•¨μˆ˜

  • ν•¨μˆ˜λ₯Ό κ°’μœΌλ‘œ λ‹€λ£¨λŠ” ν•¨μˆ˜(ν•¨μˆ˜λ₯Ό 인자둜 λ°›μ•„μ„œ μ‹€ν–‰ν•˜λŠ” ν•¨μˆ˜)

  • ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜(ν΄λ‘œμ €λ₯Ό λ§Œλ“€μ–΄ λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜)

ES6의 리슀트 순회

기쑴의 forλ¬Έκ³Ό 달라짐

for (const a of list){
    log(a);
}

λ‚΄μž₯ μ΄ν„°λŸ¬λΈ”

  • Array

  • Set Map : κΈ°μ‘΄ for문으둜 순회 λΆˆκ°€

  • map.keys()ν‚€λ§Œ λ½‘μ•„μ€Œ map.values()κ°’λ§Œ λ½‘μ•„μ€Œ map.entries()킀와 κ°’

μ΄ν„°λŸ¬λΈ”/μ΄ν„°λ ˆμ΄ν„° ν”„λ‘œν† μ½œ

μ΄ν„°λŸ¬λΈ”μ„ for..of, μ „κ°œ μ—°μ‚°μž λ“±κ³Ό ν•¨κ»˜ λ™μž‘ν•˜λ„λ‘ν•œ κ·œμ•½

  • μ΄ν„°λŸ¬λΈ” : μ΄ν„°λ ˆμ΄ν„°λ₯Ό λ¦¬ν„΄ν•˜λŠ” [Symbol.iterator]() λ₯Ό κ°€μ§„ κ°’

  • μ΄ν„°λ ˆμ΄ν„° : { value, done } 객체λ₯Ό λ¦¬ν„΄ν•˜λŠ” next() λ₯Ό κ°€μ§„ κ°’ (순회λ₯Ό ν•˜λ‹€κ°€ done이 trueκ°€ 되면 λΉ μ Έλ‚˜μ˜΄)

μ‚¬μš©μž μ •μ˜ μ΄ν„°λŸ¬λΈ”

  • λ‚΄μž₯ λ˜μ§€ μ•Šμ€ μ™ΈλΆ€ 라이브러리의 μ΄ν„°λŸ¬λΈ”λ„ 심볼 μ΄ν„°λ ˆμ΄ν„°κ°€ κ΅¬ν˜„λ˜μ–΄ 있으면(μ΄ν„°λŸ¬λΈ”/μ΄ν„°λ ˆμ΄ν„° ν”„λ‘œν† μ½œμ„ λ”°λ₯Έλ‹€λ©΄) μˆœνšŒν•  수 있음

μ „κ°œ μ—°μ‚°μž

μ΄ν„°λŸ¬λΈ”/μ΄ν„°λ ˆμ΄ν„° ν”„λ‘œν† μ½œμ„ λ”°λ₯΄λŠ” 객체듀을 μ „κ°œν•  수 있음

  • ... μ „κ°œ μ—°μ‚°μž

μ œλ„ˆλ ˆμ΄ν„°

μ΄ν„°λ ˆμ΄ν„°μ΄μž μ΄ν„°λŸ¬λΈ”μ„ 생성(리턴)ν•˜λŠ” ν•¨μˆ˜

  • λ¬Έμž₯을 μ΄μš©ν•΄ μˆœνšŒν•  값을 μž‘μ„±ν•˜λŠ” μ œλ„ˆλ ˆμ΄ν„°λ₯Ό μ΄μš©ν•΄ μ–΄λ– ν•œ 값이든 μˆœνšŒν•˜λ„λ‘ λ§Œλ“€ 수 있음

ꡬ쑰 λΆ„ν•΄, λ‚˜λ¨Έμ§€ μ—°μ‚°μž

220107 κ·Έλƒ₯ κ·Έλ ‡κ΅¬λ‚˜ ν•˜κ³  λ„˜μ–΄κ°”λ˜ μ œλ„ˆλ ˆμ΄ν„°μ˜ λ™μž‘μ— λŒ€ν•΄ μ–΄λŠμ •λ„ 이해할 수 μžˆμ—ˆλ‹€. μ—¬λŸ¬λ²ˆ λ°˜λ³΅ν•΄μ„œ 보고 μ—°μŠ΅ν•΄λ΄μ•Όκ² λ‹€

Last updated