
Promise (νλ‘λ―Έμ€) π
Promiseλ μλ°μ€ν¬λ¦½νΈμμ λΉλκΈ° μμ μ ν λ μ μ©νκ² μ°μ΄λ κ°μ²΄μμ. μΉμμ μλ²λ‘ λ°μ΄ν°λ₯Ό μμ²νμ λ, λ°λ‘ κ²°κ³Όκ° μ€μ§ μκ³ μκ°μ΄ 걸리μμμ? κ·Έ λ°μ΄ν°λ₯Ό λͺ¨λ λ°κΈ° μ μ νλ©΄μ μΆλ ₯νλ €κ³ νλ©΄ λ¬Έμ κ° μκΈΈ μ μλλ°, μ΄λ° μν©μ λ°©μ§νκΈ° μν΄ Promiseλ₯Ό νμ©νλ΅λλ€.
Promiseλ λΉλκΈ° λ‘μ§μ λ§μΉ μμλλ‘ μ²λ¦¬λλ λκΈ°μ μΈ μ½λμ²λΌ 보μ΄κ² λμμ€μ. μλ₯Ό λ€μ΄ A, B, C μΈ κ°μ§ λΉλκΈ° μμ μ΄ μμ λ, Promiseλ₯Ό μ¬μ©νλ©΄ A μμ μ΄ λλ νμ B, B μμ μ΄ λλ νμ Cκ° μ€νλλλ‘ μμλ₯Ό μ ν΄μ€ μ μμ΄μ.
Promiseλ ν¬κ² 3κ°μ§ μνλ₯Ό κ°μ§κ³ μμ΄μ.
- Pending (λκΈ°): λΉλκΈ° μμ μ΄ μμ§ λλμ§ μμ μ΄κΈ° μνλ₯Ό λ§ν΄μ. Promise κ°μ²΄λ₯Ό λ§λ€λ©΄ μ΄ μνκ° λλ΅λλ€.
- Fulfilled (μ΄ν): λΉλκΈ° μμ μ΄ μ±κ³΅μ μΌλ‘ μλ£λμμ λμ μνμμ. μ΄λ κ²°κ³Όκ°μ λ°ννκ² λκ³ μ.
- Rejected (μ€ν¨): λΉλκΈ° μμ μ΄ μ€ν¨νκ±°λ μ€λ₯κ° λ°μνμ λμ μνμ λλ€.
μ΄ Promise λλΆμ μ°λ¦¬λ μΉμμ λ°μ΄ν° ν΅μ μ ν¨μ¬ λ ν¨μ¨μ μ΄κ³ μμ μ μΌλ‘ μ²λ¦¬ν μ μκ² λλ΅λλ€! π
Protocol (νλ‘ν μ½) π€
μ, νλ‘ν μ½μ μ½κ² λ§ν΄μ 'κ·μΉ' λλ **'μ½μ'**μ΄λΌκ³ μκ°νλ©΄ μ΄ν΄νκΈ° μ¬μΈ κ±°μμ. μ»΄ν¨ν°λ λ€νΈμν¬ μμμ μ΄λ€ μμ€ν κ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ λ, μλ‘ μμλ€μ μ μλλ‘ μ ν΄λμ ν΅μ λ°©μμ΄λ κ·μ½μ λ§ν΄μ.
μ¬λλ€μ΄ λνν λ μ¬μ©νλ μΈμ΄λ κ·μΉμ΄ μλ―μ΄, μ»΄ν¨ν°λ€λ μλ‘ ν΅μ νλ €λ©΄ μ ν΄μ§ κ·μΉμ΄ νμνκ² μ£ ? κ·ΈλμΌ νΌλ μμ΄ μ 보λ₯Ό μ£Όκ³ λ°μ μ μμΌλκΉμ.
μλ₯Ό λ€μ΄, μΉμ¬μ΄νΈμ μ μν λ μ°λ¦¬λ 'HTTP'λΌλ νλ‘ν μ½μ μ¬μ©ν΄μ. μΉ μλ²μ μΉ λΈλΌμ°μ κ° μλ‘ μ΄λ€ νμμΌλ‘ μ 보λ₯Ό μ£Όκ³ λ°μμ§ μ½μν΄ λ κ·μΉμΈ κ±°μ£ . μ΄ μΈμλ λ°μ΄ν°λ₯Ό μμ μ μΌλ‘ μ μ‘νλ 'TCP', μΈν°λ· μ£Όμλ₯Ό κ΄λ¦¬νλ 'IP' λ± λ€μν νλ‘ν μ½λ€μ΄ μλ΅λλ€.
μλ°μ€ν¬λ¦½νΈμ κ½μ λ°λ‘ 'ν΄λ‘μ (Closure)'μμ! πΈ
λ§μ κ°λ°μλ€μ΄ **ν΄λ‘μ (Closure)**λ₯Ό μλ°μ€ν¬λ¦½νΈμ κ½μ΄μ ν΅μ¬ κΈ°λ₯ μ€ νλλ‘ κΌ½λλ΅λλ€. κ·Έλ§νΌ μλ°μ€ν¬λ¦½νΈμ κ°λ ₯ν¨κ³Ό μ μ°μ±μ μ 보μ¬μ£Όλ κ°λ μ΄κΈ° λλ¬Έμ΄μμ. ν¨μν νλ‘κ·Έλλ°μ κ½μ΄λΌκ³ λ λΆλ¦΄ μ λμ£ !
κ·ΈλΌ ν΄λ‘μ λ 무μμΌκΉμ? π€
ν΄λ‘μ λ **'ν¨μκ° μ μΈλ λμ λ μ컬 νκ²½(Lexical Environment)μ κΈ°μ΅νλ ν¨μ'**λ₯Ό λ§ν΄μ. μ‘°κΈ μ΄λ ΅κ² λ€λ¦¬λμ? μ½κ² λ§νλ©΄, μ΄λ€ ν¨μκ° μμ μ΄ λ§λ€μ΄μ‘μ λμ 'μΈλΆ νκ²½'μ μλ λ³μλ€μ κΈ°μ΅νκ³ , λμ€μ κ·Έ λ³μλ€μ κ³μν΄μ μ¬μ©ν μ μκ² ν΄μ£Όλ κΈ°λ₯μ΄μμ. μ¬μ§μ΄ μΈλΆ ν¨μκ° μ΄λ―Έ μ€νμ λ§μΉκ³ λ©λͺ¨λ¦¬μμ μ¬λΌμ§ νμλ λ§μ΄μ£ !
ν΄λ‘μ μ κ°μ₯ μ€μν νΉμ§κ³Ό νμ©λ²μ λ€μκ³Ό κ°μμ.
- λ°μ΄ν° μλκ³Ό μΊ‘μν (μ 보 보νΈ): ν΄λ‘μ λ λ°μ΄ν°λ₯Ό μΈλΆλ‘λΆν° μμ νκ² λ³΄νΈνκ³ κ΄λ¦¬νλ λ° μμ£Ό μ μ©νκ² μ°μ¬μ. λ§μΉ κΈκ³ μμ μ€μν μλ₯λ₯Ό λ£μ΄λλ κ²κ³Ό κ°μμ. μΈλΆμμλ ν¨λΆλ‘ κΈκ³ μμ μλ₯(λ°μ΄ν°)μ μ κ·Όνκ±°λ λ³κ²½ν μ μκ³ , μ ν΄μ§ λ°©λ²(ν΄λ‘μ κ° λ°ννλ λ΄λΆ ν¨μ)μ ν΅ν΄μλ§ λ€λ£° μ μκ² νλ κ±°μ£ . μλ₯Ό λ€μ΄, μν κ³μ’ μμ‘μ κ΄λ¦¬νλ ν¨μλ₯Ό λ§λ€ λ, balance λ³μλ₯Ό μΈλΆμμ μ§μ 건λλ¦¬μ§ λͺ»νκ² νκ³ μ€μ§ μ κΈ(deposit)μ΄λ μΆκΈ(withdraw) ν¨μλ₯Ό ν΅ν΄μλ§ μ κ·Όνκ² ν μ μλ΅λλ€.
- μν(State) μ μ§: ν΄λ‘μ λ νΉμ ν¨μκ° νΈμΆλ λλ§λ€ κ°μ΄ μ¦κ°νκ±°λ μ μ§λλ λ± 'μν'λ₯Ό μμ νκ² κ΄λ¦¬ν μ μκ² ν΄μ€μ. νλ² μμ±λ ν΄λ‘μ λ μμ μ΄ μ°Έμ‘°νλ μΈλΆ λ³μλ€μ κ°μ κ³μ μ μ§νκΈ° λλ¬Έμ, μΈλΆ ν¨μμ μ€νμ΄ λλ λ€μλ λ΄λΆ ν¨μλ₯Ό ν΅ν΄ μ΄ μνλ₯Ό κ³μ λ³κ²½νκ³ νμΈν μ μμ΄μ.
μ΄ ν΄λ‘μ λλΆμ μλ°μ€ν¬λ¦½νΈλ‘ ν¨μ¬ λ μ μ°νκ³ κ°λ ₯ν μ½λλ€μ λ§λ€ μ μκ² λλ κ±°μ£ . κΈμ μμ§μ§λμ΄ Next.jsμ Node.jsλ₯Ό 곡λΆνλ©΄μ ν΄λ‘μ κ°λ μ μ μ΄ν΄νκ³ μμΌλ©΄, λμ€μ 볡μ‘ν μν κ΄λ¦¬λ λͺ¨λ ν¨ν΄ κ°μ κ²μ λ€λ£° λ μ λ§ ν° λμμ΄ λ κ±°μμ! π
πΈ 1) ν΄λ‘μ (Closure) — κ°μ₯ λ§μ΄ “κ½”μ΄λΌκ³ λΆλ¦Ό
μ κ½μΈκ°?
μλ°μ€ν¬λ¦½νΈμ κ·Όλ³Έ μ² νμ κ°μ₯ μ 보μ¬μ£Όλ κΈ°λ₯μ΄κΈ° λλ¬Έμ
λλ€.
ν΄λ‘μ λ ν¨μκ° μ μΈλ νκ²½μ κΈ°μ΅ν΄μ, κ·Έ νκ²½ λ°μμλ κ·Έ λ³μλ₯Ό μ¬μ©ν μ μκ² νλ κΈ°λ₯μ΄μμ.
π© μ νμνκ°?
ν΄λ‘μ λ μλ μν©μμ κ°λ ₯ν΄μ.
- ν¨μ λ΄λΆμμ μν(state)λ₯Ό μλνκ³ μΆμ λ
- μΈλΆμμ μ§μ μ κ·Όν μ μλ νλΌμ΄λΉ λ³μλ₯Ό λ§λ€κ³ μΆμ λ
- μ½λ°±, μ΄λ²€νΈ, νμ΄λ¨Έ λ± λΉλκΈ° νλ¦μμ κ° μ μ§
- “ν λ² μμ±λ λ°μ΄ν°”λ₯Ό μ μ§νλ©΄μ μ¬μ¬μ©
π§ μμ λ‘ μμ μ΄ν΄νκΈ°
β κ°μ₯ μ λͺ ν ν΄λ‘μ μμ
μ¬κΈ°μ μ€μν ν¬μΈνΈ:
- outer()λ μ΄λ―Έ μ€ν λλ¬μ§λ§
- inner()λ outerμ count λ³μλ₯Ό κΈ°μ΅νκ³ μμ
- κ·Έλμ countκ° κ³μ μμ → μ΄κ²μ΄ ν΄λ‘μ !
π¨ νκ΅μ λΉμ λ‘ μ΄ν΄νκΈ°
λ°©(outer ν¨μ)μ λ λ¬λλ°λ, κ·Έ λ°© μ΄μ λ₯Ό κ³μ λ€κ³ μμ΄μ μμ 물건(count)μ 건λ릴 μ μλ μ¬λ(inner ν¨μ)
κ·Έ μ¬λμ΄ λ°λ‘ ν΄λ‘μ μ λλ€.
π© ν΄λ‘μ μ ν΅μ¬ λμ μ리
| μΈλΆ μ€μ½ν(Outer Scope) | ν¨μκ° λ§λ€μ΄μ§ λΉμμ νκ²½ |
| ν¨μ μ μΈ μμ κΈ°μ€ | νΈμΆ μμ μ΄ μλ μ μΈ μμ μ λ³μλ₯Ό κΈ°μ΅ |
| GC(κ°λΉμ§ 컬λ μ )μ κ±Έλ¦¬μ§ μμ | μ°Έμ‘° μ€μ΄λ―λ‘ λ©λͺ¨λ¦¬κ° μ μ§λ¨ |
ν κ³Ό νΈλ€λ¬
USEλ‘ μμνλ©΄ ν
CONST λ‘ μμνλκ² νΈλ€λ¬
리μ‘νΈλ μλ°μ€ν¬λ¦½νΈμμ **ν
(Hook)**κ³Ό **νΈλ€λ¬(Handler)**λ μμ£Ό ν¨κ» λ±μ₯νμ§λ§, μν κ³Ό λͺ©μ μ΄ μμ ν λ€λ¦
λλ€.
νκ΅ κ°λ°μ κ΄μ μμ κ°μ₯ μμ°μ€λ½κ² μ΄ν΄ν μ μλλ‘ μ 리ν΄λ릴κ²μ!
π¦ 1) ν (Hook) — 리μ‘νΈμ κΈ°λ₯μ μ¬μ©νκ² ν΄μ£Όλ νΉλ³ν ν¨μ
πΉ μμ½
리μ‘νΈ μ»΄ν¬λνΈ μμμ
- μν(state) κ΄λ¦¬
- μλͺ μ£ΌκΈ° μ μ΄
- μΈλΆ λ°μ΄ν° μ°λ
κ°μ κΈ°λ₯μ μ¬μ©ν μ μκ² ν΄μ£Όλ 리μ‘νΈ μ μ© ν¨μμ λλ€.
πΉ μ: μμ£Ό μ°λ ν
| useState | μνκ° κ΄λ¦¬ |
| useEffect | μ¬μ΄λ μ΄ννΈ μ€ν(λ λ μ΄ν λμ) |
| useRef | DOM μ°Έμ‘°, λ³κ²½ κ°λ₯ν κ° μ μ₯ |
| useMemo | κ° λ©λͺ¨μ΄μ μ΄μ |
| useCallback | ν¨μ λ©λͺ¨μ΄μ μ΄μ |
πΉ νκ΅μ λΉμ
ν μ “λ¦¬μ‘νΈκ° μ 곡νλ μ μ© λ¦¬λͺ¨μ»¨ λ²νΌ”μ΄μμ.
λ²νΌμ λλ¬μΌ μνλ λ°κΎΈκ³ , APIλ νΈμΆνκ³ , μ»΄ν¬λνΈ μλͺ μ£ΌκΈ°λ μ μ΄ν μ μμ΄μ.
π© 2) νΈλ€λ¬(Handler) — νΉμ μ΄λ²€νΈλ₯Ό μ²λ¦¬νλ ν¨μ
πΉ μμ½
μ¬μ©μμ νλ(ν΄λ¦, μ λ ₯, μ μΆ λ±)μ΄λ νΉμ μν©μ΄ λ°μνμ λ μ€νλλ μ΄λ²€νΈ μ²λ¦¬ ν¨μμ λλ€.
πΉ μ: νν νΈλ€λ¬λ€
πΉ λ€μ΄λ° κ·μΉ
νΈλ€λ¬λ λ³΄ν΅ μλμ²λΌ μ΄λ¦μ μ§μ΄μ.
- handleClick
- handleSubmit
- handleChange
- handleScroll
πΉ νκ΅μ λΉμ
νΈλ€λ¬λ “μ¬μ©μκ° μ΄λ²€νΈλ₯Ό μΌμΌν€λ©΄ λμνλ μλ΄μ” κ°μ μ‘΄μ¬μ λλ€.
λκ° λ²νΌμ λλ λ€ → μλ΄μμ΄ λ³΄κ³ λ°μνλ λλ.
π΅ ν vs νΈλ€λ¬ — νλμ μ 리
| μ 체 | 리μ‘νΈ μ μ© κΈ°λ₯ ν¨μ | μ΄λ²€νΈ μ²λ¦¬ ν¨μ |
| λͺ©μ | μ»΄ν¬λνΈ λ‘μ§ μ μ΄ | μ¬μ©μ/μμ€ν μ΄λ²€νΈ λμ |
| μμ | useState, useEffect | handleClick, handleSubmit |
| κ°λ° λμ΄λ | κ°λ μ | μ§κ΄μ |
| μμ± μμΉ | μ»΄ν¬λνΈ μ΅μλ¨λ§ κ°λ₯ | μ΄λλ μ μΈ κ°λ₯ |
π§© λμ΄ ν¨κ» μ°μ΄λ νμ€μ μΈ μ
- useState → ν
- handleClick → νΈλ€λ¬
λμ μλ‘ κ²½μ κ΄κ³κ° μλλΌ,
ν
μ΄ μνλ₯Ό λ§λ€κ³ , νΈλ€λ¬κ° κ·Έ μνλ₯Ό λ³κ²½νλ μν μ
λλ€.
λ¨Όμ μ€μν μ λΆν° λ§μλ리면, **“μΌκΈ κ°μ²΄(First-class citizen)”λ νλ‘κ·Έλλ° μΈμ΄μ κ°(Value)μ λν κ°λ
μ΄μ§, νΉμ νμ¬(AI, ν΄λ‘λ λ±)λ κ°μ²΄ μ’
λ₯μ λ±κΈμ λ§€κΈ°λ κ°λ
μ΄ μλλλ€.
κ·Έλ¬λ “ν΄λ‘λκ° μΌκΈ κ°μ²΄λ©΄ μλ° κ°μ²΄λ λͺ κΈμΈκ°μ?”λΌλ μ§λ¬Έμ μ¬λ―Έμλ ννμ΄μ§λ§, λ²μ£Όκ° λ¬λΌ μ§μ λΉκ΅ν μλ μμ΅λλ€.
λ€λ§ μ§λ¬Έ μλλ₯Ό κ³ λ €ν΄ κ°μ₯ μ΄ν΄νκΈ° μ½κ² μ€λͺ λ릴κ²μ.
π¦ 1) ‘μΌκΈ κ°μ²΄’λ 무μμΈκ°?
νλ‘κ·Έλλ° μΈμ΄μμ μ΄λ€ μμκ° μλ 쑰건λ€μ λ§μ‘±νλ©΄ **μΌκΈ κ°μ²΄(First-class citizen)**λΌκ³ ν©λλ€.
- λ³μμ λ΄μ μ μκ³
- ν¨μμ μΈμλ‘ μ λ¬ν μ μκ³
- ν¨μμ λ°νκ°μΌλ‘ λλ €μ€ μ μλ κ²
μ¦ κ°μ²λΌ μμ λ‘κ² λ€λ£° μ μμΌλ©΄ μΌκΈ κ°μ²΄μ λλ€.
μλ°μ€ν¬λ¦½νΈμμλ ν¨μ μμ²΄κ° κ°μ²λΌ μ·¨κΈλκΈ° λλ¬Έμ
“ν¨μλ μΌκΈ κ°μ²΄”λΌκ³ λ§νλ κ²λλ€.
π© 2) κ·ΈλΌ μλ°(Java)μμλ 무μμ΄ μΌκΈ κ°μ²΄μΈκ°?
μλ°λ κ°μ²΄λ λͺ¨λ μΌκΈ κ°μ²΄μ λλ€.
- κ°μ²΄λ₯Ό λ³μμ λ΄μ μ μκ³
- λ©μλ μΈμλ‘ μ λ¬ν μ μκ³
- λ©μλμ λ°νκ°μΌλ‘λ λλ €μ€ μ μμ΄μ
λ°λΌμ:
πΈ μλ°μ κ°μ²΄λ ‘1κΈ(μΌκΈ) κ°μ²΄’μ λλ€.
π§ 3) μλ°μμ ‘μΌκΈ κ°μ²΄κ° μλ κ²’μ?
μλ° 8 κΈ°μ€μΌλ‘ **λ©μλ(method)**λ μΌκΈ κ°μ²΄κ° μλμμ΅λλ€.
νμ§λ§ **λλ€(lambda)**κ° λμ
λλ©΄μ ν¨μν μΈν°νμ΄μ€λ₯Ό ν΅ν΄ ν¨μ λΉμ·ν κ΅¬μ‘°κ° μΌκΈμ²λΌ μ¬μ© κ°λ₯νκ² λμμ΄μ.
κ·Έλλ μλ°μμλ “ν¨μκ° μΌκΈ κ°μ²΄λ€”λΌκ³ λ§νκΈ°λ μ΄λ ΅κ³ ,
λμ “λλ€κ° ν¨μν μΈν°νμ΄μ€λ₯Ό ν΅ν΄ μΌκΈ κ°μ²λΌ μ°μΈλ€”λΌκ³ ννν©λλ€.
π¨ 4) κ²°λ‘ : λ±κΈμ λΉκ΅νλ©΄?
- “ν΄λ‘λ”λ μ μ΄μ μΌκΈ κ°μ²΄ κ°λ μ λμμ΄ μλ
- μλ° κ°μ²΄ = μΌκΈ κ°μ²΄(First-class citizen)
- μλ° λ©μλ = μΌκΈ κ°μ²΄ μλ(λλ€λ‘ 보μ)
μ 리νλ©΄:
μλ°μ κ°μ²΄λ 1κΈ(μΌκΈ)μ΄λ€.
ν¨μλ μλμ§λ§ κ°μ²΄ μ체λ μμ ν μΌκΈμ΄λ€.
λλ€(lambda)λ νλ‘κ·Έλλ°μμ **“ν¨μλ₯Ό κ°λ¨νκ² νννλ λ°©λ²”**μ μλ―Έν©λλ€.
νΉν **μλ°(Java)**μ νμ΄μ¬, μλ°μ€ν¬λ¦½νΈ(νμ΄ν ν¨μ) λ± μ¬λ¬ μΈμ΄μμ λ±μ₯νλ κ°λ
μ΄μμ.
μμ£Ό μ½κ², νκ΅μμΌλ‘ νμ΄ μ€λͺ ν΄λ릴κ²μ!
π¦ λλ€(Lambda)λ?
π μ΄λ¦ μλ ν¨μ(μ΅λͺ ν¨μ)λ₯Ό κ°λ¨ν λ¬Έλ²μΌλ‘ ννν κ²
μλ ν¨μλ₯Ό λ§λ€λ €λ©΄ μ΄λ κ² κΈΈκ² μμ±νμ΄μΌ ν©λλ€:
λλ€λ₯Ό μ°λ©΄ μ΄λ κ² μ€μ΄λλλ€:
λ± λ΄λ ν¨μ¬ μ§§μ£ ?
π© μ ‘λλ€’λΌκ³ λΆλ₯΄λ?
λλ€λ μνκ³Ό μ»΄ν¨ν° κ³Όνμ λλ€ κ³μ°(lambda calculus) κ°λ μμ μ¨ μ©μ΄μ λλ€.
“ν¨μλ₯Ό κ°μ²λΌ λ€λ£¨λ νν”μ΄λΌλ μλ―Έκ° κ°ν©λλ€.
π§ μλ°(Java)μμμ λλ€
μλ° 8λΆν° λ±μ₯νκ³ ,
**ν¨μν μΈν°νμ΄μ€(λ©μλ νλλ§ μλ μΈν°νμ΄μ€)**λ₯Ό ꡬνν λ μ¬μ©λ©λλ€.
μ:
κΈ°μ‘΄ λ°©μ (μ΅λͺ ν΄λμ€)
λλ€ λ°©μ
λ κ°κ²°νκ³ μ½κΈ° νΈνμ£ .
π¨ μλ°μ€ν¬λ¦½νΈμμμ λλ€ → νμ΄ν ν¨μ(Arrow Function)
μλ°μ€ν¬λ¦½νΈλ “λλ€”λΌλ μ©μ΄ λμ νμ΄ν ν¨μλ₯Ό μ¬μ©ν©λλ€.
JSμμλ μ΄κ² κ³§ λλ€λΌκ³ λ΄λ κ±°μ κ°μ΅λλ€.
π© νμ΄μ¬μμμ λλ€
νμ΄μ¬μ μ€μ ν€μλκ° lambdaμ λλ€.
π¦ λλ€μ ν΅μ¬ νΉμ§ μμ½
| μ΅λͺ ν¨μ | μ΄λ¦ μμ΄ μ μ κ°λ₯ |
| μΆμ½ λ¬Έλ² | μ½λλ₯Ό μ§§κ³ κ°κ²°νκ² λ§λ¦ |
| ν¨μλ κ°(Value) | λ³μμ μ μ₯, μΈμλ‘ μ λ¬ κ°λ₯ |
| μΌκΈ ν¨μ κ°λ κ³Ό μ°κ΄ | ν¨μκ° κ°μ²λΌ λ€λ€μ§λ μΈμ΄μμ ν΅μ¬ |
π§ νκ΅μ λΉμ
“μλλΌλ©΄ λͺ ν¨(ν¨μ μ΄λ¦)κΉμ§ λ§λ€μ΄μΌ νλλ°,
κ·Έλ₯ κΈνκ² μΈ μΌ μμ λ λ°λ‘ μ νλ²νΈλ§ ν‘ λ³΄λ΄λ λλ.”
μ½λλ₯Ό μ§§κ², λΉ λ₯΄κ², νμν κ³³μ λ°λ‘ μ λ¬ν μ μμ΅λλ€.
π¦ IIFEλ? (Immediately Invoked Function Expression)
π “μ¦μ μ€ν ν¨μ”
μ μνμλ§μ λ°λ‘ μ€νλλ ν¨μ ννμμ λλ€.
π© κΈ°λ³Έ λ¬Έλ²
- function () {} → ν¨μ μ μ
- μλ€λ₯Ό ()λ‘ κ°μΈλ©΄ ν¨μ ννμμΌλ‘ λ°λ
- λ§μ§λ§ ()κ° λΆμΌλ©΄μ μ¦μ μ€νλ¨
π§ μ μ°λκ°?
1) μ€μ½ν(λ²μ) λΆλ¦¬
μ μ λ³μ μ€μΌμ λ§κΈ° μν΄
let, constμ΄ μλ μμ λ§μ΄ μ¬μ©νμ΅λλ€.
2) μ΄κΈ°ν μ½λ μ€ν
νμ΄μ§ λ‘λ© μκ°μ λ± ν λ² μ€νν΄μΌ νλ μ½λμ μ μ©ν©λλ€.
π¨ μμ
β μ§μ μ€μ½ν 보νΈ
β μ΄κΈ° μ€μ μ©
π¦ ES6 μ΄νμλ μ¬μ©μ΄ μ€μ΄λ μ΄μ
let, const, λΈλ‘ μ€μ½ν {} λ±μ₯μΌλ‘ λ체 κ°λ₯ν΄μ‘κΈ° λλ¬Έμ λλ€.
κ·Έλλ
- μ¦μ μ€ν
- λ
립 μ€μ½ν μμ±
μ΄ νμν κ²½μ°μ μ¬μ ν μ°μ λλ€.
'Project ESG+AI > Tech Basics' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| 39μΌμ°¨. IT κ°λ μ 리 (0) | 2025.12.05 |
|---|---|
| 38μΌμ°¨. IT κ°λ μ 리 (0) | 2025.12.04 |
| 36μΌμ°¨. IT κ°λ μ 리 (0) | 2025.11.27 |
| 35μΌμ°¨. IT κ°λ μ 리 (0) | 2025.11.26 |
| 34μΌμ°¨. IT κ°λ μ 리 (1) | 2025.11.25 |