λ°λΈμ½μ€ νλ‘ νΈμλ 2μ£Όμ°¨κ° μμλμλ€! μ£Όλ§μ λλ¦ μΆ©μ νλ€κ³ νλ§κ³Ό μ¬μΆ©μ μ νκ³ μ¨ κ² κ°μλ° μ½μ΄νμ μμ 1μκ° λ§μ λ°λ₯λκ±° μ€νμμ? λ΄ μ²΄λ ₯ μ€ν₯λκΉ? νν κ°λ°μλ 체λ ₯ μΈμμ΄λ¬λλ° μμ νκ³ μλ ννΈλ₯Ό ν μΈνΈ λ ν΄μΌκ² λ€ππ 2μ£Όμ°¨λ 1μ£Όμ°¨μ μ΄μ΄μ§ DOM κ΄λ ¨ κ°μμ ν¨μν νλ‘κ·Έλλ°μ μλλ₯Ό μ΄λ©° μμλμλ€. κ·Έλ μ΄μ 2μ£Όμ°¨λΌλκ±°μ£ ? 2μ£Ό... 5κ°μμ 20μ£Ό... κ·Έλ...
κ·Έλλ λ μ¨λ λ§μ΄ μ μ ν΄μ§κ³ μ²μ μ΄λ¦¬λ°λ¦¬νλ ν΄λ€μ΄λλ μ΄..μ§μ μΉν΄μ§λ©΄μ μ΅μν΄μ§ κ² κ°λ€. μ²μμ μ½μ΄νμμ΄ λ무 κΈΈμ΄~~~! μ λ μ§μ€λ ₯μ μμ§μκ³ κ³΅λΆν μ μμκΉ? νμ§λ§ 곡λΆνλ©΄ ν μλ‘ κ³΅λΆν κ²λ€μ΄ λμ΄λκΈ°λλ¬Έμ λ μ½μ΄νμμ λΆμ‘±νλ€. (κ·Έλμ μ§κΈ μκ°μ΄ ... ) μΌμ£ΌμΌλ νλ΄κ³ ~! μ€λλ³΄λ€ λ΄μΌ λ λμ λλ₯Ό μν΄ μΉμΌγΉγΉγΉμ€π
λμ 첫 νλ‘κ·Έλλ° μ
λ¬Έ μΈμ΄λ javaμλ€. λΆλͺ
κ°μ²΄μ§ν₯μΈμ΄λ₯Ό μ²μ λ°°μ μμλ λΆκ΅¬νκ³ μ½ 3.5λ
κ° λͺ¨λ κ³Όμ λ₯Ό cμΈμ΄(κ°κ°μ΄ java?)λ‘ νλ€λ³΄λ κ°μ²΄μ§ν₯λ ν¨μνλ λ무 μ΄λ €μ΄ ν¨λ¬λ€μμ΄ λκ³ λ§μλ€. μ²μμ μ¬λ¬ κ³ μ°¨ν¨μλ‘ μ΄λ£¨μ΄μ§ μ½λλ₯Ό λ³΄κ³ λ¨μ
π€¦ββοΈνκ³ λ§μμλλ° μκ°ν΄λ³΄λ νμ΄νμΌλ‘ μ λ κ² κ°λ¨λͺ
λ£. λλ λ΄κ° μ£Όμ΄μ§ ν μΌλ§ νλ€.λΌλ λλμ λ°μμ μ’ κ°λͺ
λ°μλ κΈ°μ΅μ΄μλ€. κ·Έλμ νλ‘ νΈμλλ₯Ό μ ννμμ§λ.. γ
γ
μ¨λ 2μ£Όμ°¨μ ν¨μννλ‘κ·Έλλ°μ ν¨λ¬λ€μμ μ μ΄λ¦΄ μ μλλ‘ μ΄μ¬ν 곡λΆν΄μΌκ² λ€~!
ν¨μννλ‘κ·Έλλ° -> "ν¨μ" μ€μπ€΄ / ES6μ μ΄ν°λ¬λΈ, μ΄ν°λ μ΄ν°
κΈ°λ³Έμ λ€μ λ€μ§λ μκ°μ΄μλ€. μλν° νΈμ§κΈ° κ°μμμμ "data-command"λ₯Ό μ΄μ©ν execCommand ν¨μ μ¬μ©λ μ½λλ₯Ό μ§§κ² λ§λ€μ΄μ£Όλ ν¨κ³Όκ° κ΅μ₯!
μ½λκ° κ³μ° λμ΄ κ°μ λ§λλ κ² ex) 10+20 = 30 // 30μ΄λΌλ κ°μ λ§λ€μλ€!
1) κ°μΌλ‘ λ€λ£° μ μλ€. (λ³μμ ν λΉ κ°λ₯!)
2) νλΌλ―Έν°κ° λ μ μκ³ , 리ν΄κ°λ λ μ μλ€!
ν¨μλ₯Ό κ°μΌλ‘ λ€λ£° μ μλ€. -> μ΄λ μ‘°ν©μ±κ³Ό μΆμνμ 맀μ°λ§€μ° μ’λ€~
1) ν¨μλ₯Ό μΈμλ‘ λ°μμ μ€ννλ ν¨μ
2) ν¨μλ₯Ό λ§λ€μ΄μ 리ν΄νλ ν¨μ
μ΄ν°λ¬λΈ: μ΄ν°λ μ΄ν°λ₯Ό returnνλ [Symbol.iterator] λ©μλλ₯Ό κ°μ§κ³ μλ κ° (κ°λ¨νκ² for of μΈ μ μλ κ°λ€!!!)
μ΄ν°λ μ΄ν°: {value, done} κ°μ²΄λ₯Ό returnνλ next() ν¨μλ₯Ό κ°μ§κ³ μλ κ°
ES6μμ Array, Set, Map λ±μ λ°μ΄ν°λ€μ΄ for ofλ μ κ° μ°μ°μλ±κ³Ό ν¨κ» λμνλλ‘ νλ κ·μ½
(λ... λꡬλ μ΄ν°λ¬λΈμ΄λΌ for ofκ° λκ³ , λꡬλ μ΄ν°λ¬λΈμ΄ μλμ for of λ§κ³ forλ§ μ¨μΌνλ κ·Έλ° κ΅¬μ‘°λ λ°μ΄ν° 곡κΈμμ λ°μ΄ν° μμμ μ¬μ΄μ λΆνΈν¨μ μ΄λνλ€. μ¦ μ΄ν°λ¬λΈκ³Ό μ΄ν°λ μ΄ν°κ° 곡κΈμμ μμμ μ¬μ΄μ μΈν°νμ΄μ€κ° λμ΄ μ΄λ€ λ°μ΄ν°λ κ°μ νλ‘ν μ½λ‘ λμν μ μκ²λ νλ ES6μμ λμ¨ κΈ°λ₯)
μ λ§λ€μ΄μ§ μ΄ν°λ¬λΈμ 1) μ¬κΈ°μ μͺΌκΌΌ μ κΈ°μ μͺΌκΌΌ μνν΄λ μ μ΄μ΄μ ΈμΌ νκ³ 2) μνλ μν΄μΌνκ³ λ§λ§ κ·Έλ λ€. μ λ§λ€μ΄μ§ μ΄ν°λ¬λΈμ΄ λκΈ° μν΄μλ μ΄ν°λ¬λΈμ μν΄ λ¦¬ν΄λλ μ΄ν°λ μ΄ν°λ μ΄ν°λ¬λΈμ΄ λμ΄μΌνλ€. μ¦, [Symbol.iterator]λ₯Ό λ©μλλ‘ κ°μ§κ³ μμ΄μΌνλ€. κ·Έλ¦¬κ³ [Symbol.iterator]λ μκΈ° μμ μ κ°λ₯΄μΌμΌνλ€. μ΄ν°λ¬λΈμ΄λ©΄μ μ΄ν°λ μ΄ν°κ° λμ΄μΌ ν΄λ‘μ λ₯Ό μ΄μ©ν΄ μ΄μ μνλ₯Ό κΈ°μ΅ν΄ μ΄μ μνμμ μ΄μ΄μ κ³μ μνλ₯Ό ν μ μλ€.
μ΄ν°λ μ΄ν°λ©΄μ, μ΄ν°λ¬λΈμ λ§λ€μ΄λ΄λ ν¨μ. ν¨μλͺ μμ *λ₯Ό λΆμ΄κ³ yieldλ₯Ό ν΅ν΄ μννλ€. μ λλ μ΄ν°λ‘ λ§λ€μ΄μ§ μ΄ν°λ μ΄ν°(μ΄ν°λ¬λΈ)μ [Symbol.iterator]λ₯Ό μκΈ° μμ μ κ°λ¦¬ν€κ³ μ΄λ μ λ§λ€μ΄μ§ μ΄ν°λ¬λΈμ΄λλ€. λν λͺλ² μνν κ²μΈμ§ μ λ¬ν μμλ€. returnκ°λ μ‘΄μ¬νλ€. λν μ λλ μ΄ν°λ μλ°μ€ν¬λ¦½νΈμ λ€νμ±μ λνλ΄μ€ μ μλ€. μ΄λ μλ°μ€ν¬λ¦½νΈμμ μ΄ν°λ μ΄ν°λ©΄ μνκ° κ°λ₯νκ³ (for ofλ₯Ό μΈ μ μκ³ ), μ λλ μ΄ν°λ μ΄λ€ κ°μ΄λ μ΄ν°λ¬λΈ+μ΄ν°λ μ΄ν°λ₯Ό λ§λ€ μ μκΈ° λλ¬Έμ΄λ€.
TILλ§ λ΄λ μΌλ§λ μ΄λ €μ΄ μκΈ΄μ§... μ κ² κ°λ€... μμΉ¨μ 볡μ΅νκ³ μμ λ€μ΄μΌκ² λ€..
μ΄μ μ μ΄μ΄ μλ°μ€ν¬λ¦½νΈμ λ€νμ±μ λνλ΄κ³ ννλ ₯μ λ λμ΄λ μ½λλ₯Ό μ§λ λ°©λ²?μ λν κ°μλ₯Ό λ€μλ€.
map, filter, reduce ν¨μ λμ μ리λ₯Ό μμλ³΄κ³ μ΄λ₯Ό μ€μ²©. κ·Έλ¦¬κ³ go, pipe λ§μ§λ§ curryκΉμ§ 1μ£Όμ°¨μ λΉν΄ λ΄ κΈ°μ€ λ§μ΄ λ€μ΄λ³΄μ§ μμλ κΈ°λ₯μ λν΄ κ³΅λΆνλ€.
μ΄λ ΅κΈ΄νμ§λ§ νμ μ’ λ΅λ΅νλ κ² μ€μ νλκ° μλ°μ€ν¬λ¦½νΈλ₯Ό 곡λΆνλ€. μλ°μ€ν¬λ¦½νΈλ νλ‘κ·Έλλ° μΈμ΄λ€. λ³μ, ν¨μ, κ°μ²΄ λ λ±λ± κΈ°μ‘΄ μΈμ΄μμ λ°°μ λ κ²λ€μ΄ λ°λ³΅λλ€. λλ μλ°μ€ν¬λ¦½νΈλ₯Ό 곡λΆνκ³ μλκ²μ΄ λ§λκ°? μ΄λ° μκ°μ νμ 곡λΆμλ 곡λΆκ°μ 곡λΆλ₯Ό ν΄μλλ°, νλ‘κ·Έλλ° μΈμ΄λΌλ κΈ°λ³Έ νμμ λ²μ΄λ μλ°μ€ν¬λ¦½νΈλ₯Ό 곡λΆνλ κΈ°λΆμ΄ λ€μ΄ μ‘°κΈ.. μΌμ±? μνκ³ μ μ¬μ©ν΄μΌ μΌμ±ν μ μμ§λ§γ
γ
γ
γ
γ
.. 무μΈκ° λ°°μμ μ λλ€λ건 λΏλ― + μ±μ·¨κ°μ΄ κ°μ΄μμ λ νμμ΄λ€. π
μ€λμ κ°μλ 빨리 λ£κ³ , TILλ 빨리 λ£κ³ , μ€μ΅λ 빨리빨리ν΄μ gitμ λν΄ μ λλ‘ κ³΅λΆν΄λ³΄κ³ μΆλ€. κ°λ°μλ νμ
μ΄ μλͺ
μ΄λ¬λ€. κΈ°λ³Έμ€μ κΈ°λ³Έμ μ μ±κ²¨κ°λ λ΄κ° λμ΄μΌμ§~!
λ΄κ° μκ°νλ λμ μ₯μ μ€μ νλλ λμ₯κΉ¨κΈ°λ₯Ό μ’μνλ€. νλ λ§λ¨ΉμΌλ©΄ λΆλμ κ°μ λλ? μμ₯¬μμ₯¬? μ΄λ€μμ΄λλ©΄, (1) μ±
νκΆ μΌμ£ΌμΌμμ μλ
νκΈ° (μ£Όλ‘ κ°λ° μ±
..) (2) νλ μ ν΄μ λ°€μκΈ° (μλ₯Ό λ€λ©΄, μ€κ° κΈ°λ§..) (3) λ©μ΄νμ€ν 리 200 λ¬μ¬... λ±λ±... λ¬Όλ‘ μ¬κΈ°μ μ€λ μ±μ·¨κ°μ΄ μ’λ€. κ·Έλμ μΈμ λ μ΄λμλ νμ΄μ€λ₯Ό μ€λΉλ₯Ό νλ©° μ΄κ³ μ€λ λ λμ₯κΉ¨κΈ°λ₯Ό μν΄ κΈλ°μ§νλ€. π
μ΄μ μ 곡λΆμμ λΆμ‘±ν¨μ λκΌκ³ μ€λμ λ§μΉ¨ μλ μ λ
μ€μΌμ₯΄μ΄ μ·¨μ λμ΄ ν루μ’
μΌ κ³΅λΆμ λͺ°λ ν μ μμλ μν©!!! κ·Έλμγ
γ
γ
γ
μ€λμ κ°μ λμ₯κΉ¨κΈ°λ‘ μ΄μ + μ€λ κ°μλ₯Ό λ€ λ£κ³ μ€μ΅νκ² λ€~!λ₯Ό κ³νμΌλ‘ μ‘κ³ 1μλΆν° λ¬μ¬λ₯Ό νλ€... μ΄λ €μ£ΌμΈμ... κ²°κ΅ μ½ 35κ° μ λλλ κ°μλ₯Ό μκ°νκ³ λ°°μ΄ κ²λ λ§κ³ μ¬λ°μμ§λ§ μ‘°κΈ νλ ν루λκΉ... μ€λ λ°€μ μ μ΄ μ μ¬ κ² κ°λ€...
κ°λ°μκ° λκ³ μΆλ€! λΌλ μκ°μ ν건 μλ§ 3νλ
μ―€? μ΄μλ κ² κ°λ€. κ·Έ μ κΉμ§ μμ΄~ μ 곡μμ΄μ¬λ κ°λ°μ μν κ±°μΌ. νμλλ°, μ΄λ¦¬κ°λ μ 리κ°λ μ΄λ μκ° μ μ 차리면 κ°λ°μκ° λμ΄μλ€λ κ΅μλμ λ§μκ³Ό λλ¦μ μ λ
μ κ°μ§κ³ κ°λ°μλ₯Ό ν¬λ§νκ² λμλ€. κ°μ₯ κ³ λ―Όμ΄μλ 건 κ°λ°νλ μ¬λμ΄ "κ°λ°"μμΈκ±΄ μκ² λ€. κ·Όλ° κ²°κ΅ μ½λ©μ΄λ λ€λ₯Έκ² λκ°? λΌλ μκ°μ΄ λ€μκ³ λ΄κ° μ€λ νλ μ½λ©μ΄ κ°λ°μΈκ°? μ¨λ¨Ήμ μ μλ? νμ
μμλ μ΄λ κ² μ½λ©νλ? λΌλ μκ°μ΄ λ§μμλ€.
κ·Έλ¦¬κ³ μ€λ κ·Έ μκ°μ κΉ¨μ‘λ€. ν¨μν νλ‘κ·Έλλ°μ λν΄ λ°°μ°λ μ€μΈλ°, μ§κΈκΉμ§ κ°μ₯ μΈμ κΉμ λΆλΆμ 'μ§μ° νκ°'μ 'μ¦μ νκ°'μ κ°λ
μ΄λ€. λΉμ°ν μ΄λ νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ¬μ©ν΄λ λ μ¦μ νκ°μ λ°©μμΌλ‘ μ½λ©μ νκ³ κ·Έκ² λ€ μΈμ€ μμλλ°, λ ν¨μ¨μ μΌλ‘ λ§λ€κ³ ν¨μλΌλ¦¬μ μ‘°ν©μ±μ λ μ’κ² λ§λ€κΈ° μν μ¬λ¬ λ°©μλ€μ λ°°μ°κ³ , νμ€ν μ€λ¬΄λ λ€λ₯΄κ΅¬λ!λ₯Ό λκΌκ³ μ΅μν΄μ§κ³ μλ ¨λμ κ°λ ₯ν μ½λλ₯Ό μ§κ³ μΆλ€.
μ€λμ ~ νλ‘λ―Έμ€μ κ΄λ ¨λ λΉλκΈ° κ°μλ₯Ό λ£λ λ μ΄λ€. μ¦ νλ‘λ―Έμ€λ₯Ό λͺ¨λ₯΄λ©΄ μ무κ²λ ν μ μμκ³ νλ‘λ―Έμ€λ₯Ό κ°λ¨νκ² νμ λλ... μ무κ²λ ν μ μμλ€. πΆπΆ κ·Έ μμ€μ κ°μ μ½ 20κ°, κ³Όμ , μ€ν°λκΉμ§ ν루 μ’
μΌ μλ°κ°μ μ£½μ λ§... (1) νλ‘κ·Έλλ¨Έμ€ μ½λ©ν
μ€νΈ λ¬Έμ λ₯Ό ν¨μν νλ‘κ·Έλλ°μΌλ‘ νΈλ κ²μΈλ°, μ... ν¨μν νλ‘κ·Έλλ°μ λ무 μ΄λ €μμ... μ΅μνμ§ μμμμΈμ§ μ΄λ κ² κ³ μ°¨ κ³ μ°¨ κ³ μ°¨ ν¨μ λλ¬ΈμΈμ§, μ λλ‘ νμ§ λͺ»νλλ°λ μκ°μ΄ μ€λ κ±Έλ Έλ€... (2) μ€ν°λλ λ€μμ£Όλ‘ λ―Έλ€μ Έμ κ·Έλλ§ ν μ¨ λ릴 μ μμλ€. (3) κ°μλ.. νλ‘λ―Έμ€ κ³΅λΆ ν μ£Όλ§μ λ¬λ¦¬κΈ°λ‘ νλ€!
μκ°λ³΄λ€ λμ΄λλ μμ² λκ³ , ν΄μΌν μΌλ λμ³ λμ§λ§ λ€ μ€λ ₯μ μν΄ κΎΈμ€ν 곡λΆν΄ λ΄μΌκ² μ§...πΆπΆπΆ
λλμ΄ κ³Όμ λ₯Ό λλλ€. μ¬μ€ 맀λμ λμ΄ (μΌ)μμΌκΉμ§ λλ €μ£Όμ
¨μ§λ§, μ΄ν λμ λλ²κΉ
+ νμ΄λ² μκ°ν΄λ³΄κΈ° + λ©... νκΈ°λ₯Ό μκ°ν΄λ³Έ κ²°λ‘ μΌλ‘λ μλ°μ€ν¬λ¦½νΈμ λν μ΄ν΄κ° λ κΉμ΄μ§μ§ μλ μ΄μ μ΄ μ΄μμ μ½λ ν리ν°λ μλμ¬κ² κ°μκ³ , λ°λ¦° κ°μ 곡λΆκ° κΈνλ° κ³Όμ μ λν΄ μκ°νλλ΄ μΌμμΌκΉμ§ μ¨λ²λ¦΄ κ² κ°μμ μ μΆνλ€.
μμ π¦π¦ λ μ±μ₯ν κ²μ... μ΄λ €μ£ΌμΈμ...
λμΆ© λ΄ κ³Όμ ... (μμ½)
2μ£Όμ°¨ ν¨μννλ‘κ·Έλλ°μ λ°°μ°λ©΄μ μλ°μ€ν¬λ¦½νΈμ λν μ΄ν΄λκ° λ¨μ΄μ§λ€λκ²μ λκΌκ³ , νΉν λ€λ₯Έ μΈμ΄μλ μλ μ½λ°±ν¨μ, νλ‘ν νμ , νλ‘λ―Έμ€μ κ°μ... μ²μ λ€μΌλ©΄ λ‘Έ? νλκ²λ€... λ μ΄μ¬ν 곡λΆλ₯Ό ννμ΄ ν΄μΌκ² λ€. π