π23 μ€ν 컨ν μ€νΈ
μ€ν 컨ν μ€νΈ
κΈ°λ³Έμ μΌλ‘ μμ€μ½λλ₯Ό νκ°νμ¬ μ€ν 컨ν
μ€νΈλ₯Ό μμ±νλ€.
μμ€μ½λλ₯Ό μ€ννλλ° νμν νκ²½μ μ 곡νκ³ μ€νκ²°κ³Όλ₯Ό κ΄λ¦¬νλ μμ
μ€μ½νμ μ½λ μ€ν μμλ₯Ό κ΄λ¦¬νλ 맀컀λμ¦μΌλ‘ λͺ¨λ μ½λλ μ€ν컨ν
μ€νΈλ₯Ό ν΅ν΄ μ€νλκ³ κ΄λ¦¬λλ€.
κ΄λ¦¬ λμ | κ΄λ¦¬ 주체 |
---|---|
μ€μ½ν | μ€ν컨ν μ€νΈμ λ μ컬 νκ²½ |
μ€νμμ | μ€ν컨ν μ€νΈμ μ€ν |
μμ€μ½λ νκ°
: μ€ν 컨ν
μ€νΈ μμ± ν μ€μ½ν λ±λ‘μμ€μ½λ μ€ν
: λ°νμ μμ- (μ μΈλ¬Έμ μΈ)μμ€μ½λ μμ°¨ μ€ν λ³μλ ν¨μμ μ°Έμ‘°λ₯Ό μ€ν컨ν
μ€νΈκ° κ΄λ¦¬νλ μ€μ½νμμ κ²μν΄ μ·¨λ
μμ€μ½λ νμ | μ€λͺ |
---|---|
μ μμ½λ | var λ³μ, ν¨μμ μΈλ¬Έ |
ν¨μμ½λ | μ§μ μ€μ½ν μμ±, μ§μλ³μ, 맀κ°λ³μ, arguments κ°μ²΄ κ΄λ¦¬ |
evalμ½λ | strict modeμ λ μμ μΈ μ€μ½ν μμ± |
λͺ¨λμ½λ | λͺ¨λλ³λ‘ λ 립μ μΈ μ€μ½ν μμ± |
μ€ν컨ν μ€νΈ μμ
- μ μμ½λ νκ° μ€ν
μ μλ³μμ ν¨μ μ μΈλ¬Έ μ μμ€μ½νμ λ±λ‘ -> μ μλ³μ κ° ν λΉ, ν¨μ νΈμΆ - ν¨μ μ½λ νκ°
맀κ°λ³μμ μ§μλ³μ μ§μμ€μ½νμ λ±λ‘ -> thisλ°μΈλ© - ν¨μμ½λ μ€ν(λ°νμ)
맀κ°λ³μμ μ§μλ³μμ κ° ν λΉ
μ½λκ° μ€νλκΈ° μν΄μ μ€μ½νλ₯Ό ꡬλΆν΄ λ°μΈλλ κ°μ΄ κ΄λ¦¬λμ΄μΌ νλ€.
λ μ컬νκ²½
λ μ컬 컨ν
μ€νΈλ₯Ό ꡬμ±νλ μ»΄ν¬λνΈ: μ€μ½ν
μ μλ³μ
κ΄λ¦¬
μ€ν컨ν
μ€νΈ : LexicalEnvironment , VariableEnvironment
λ μ컬 νκ²½ : νκ²½μ½λ(EnvironmentRecord) , μΈλΆλ μ컬νκ²½μ λν μ°Έμ‘°(OuterLexicalEnvironmentReference)
λ μ컬μ€μ½ν
μμμ€μ½νλ ν¨μκ° μ΄λμ μ μλμλμ§μ λ°λΌ κ²°μ λλ€ (μ΄λμ νΈμΆ X)
μ€μ½ν체μΈ
μμ μ€μ½νμ μ°Έμ‘°(μΈλΆ λ μ컬νκ²½μ λν μ°Έμ‘°)λ₯Ό ν΅ν΄ μμ λ μ컬 νκ²½κ³Ό μ°κ²°λλκ²
μ€ν컨ν μ€νΈμ μμ±κ³Ό μλ³μ κ²μ κ³Όμ
- μ μκ°μ²΄μμ±
- μ μκ°μ²΄ νκ°
μ μμ€ν컨ν μ€νΈ μμ±
μ μ λ μ컬 νκ²½ μμ±
μ μ νκ²½ λ μ½λ μμ±
this λ°μΈλ©
μΈλΆ λ μ컬 μ°Έμ‘° κ²°μ
- μ μνκ²½λ μ½λ:
var
κ³Όlet``const
ꡬλΆνκΈ° μν΄ μ‘΄μ¬ (κ°μ²΄νκ²½λ μ½λ, μ μΈμ νκ²½λ μ½λ) -> μ μμ€μ½ν & μ μκ°μ²΄ κ΄λ¦¬
μ΄λ var
λ‘ μ μΈνλ³μ & ν¨μμ μΈλ¬ΈμΌλ‘ νΈμΆν ν¨μκ°μ²΄λ μ μΈ μ΄μ μ νΈμΆλ μ μλ€.let
,const
λ‘μ μΈνλ³μλ νΈμ΄μ€ν
μ΄ λλ건 λ³ν¨μμ§λ§, λ°νμ μ€ λ³μ μ μΈλ¬Έμ λλ¬νκΈ° μ κΉμ§ μΌμμ μΌλ‘ νΈμΆμ μ°Έμ‘°μλ¬κ° λ°μνλ€.
π μ€ν컨ν μ€νΈλ 무μμ΄μ£ ?[βμ§λ¬Έ]
μ€μ½νμ μ½λ μ€ν μμλ₯Ό κ΄λ¦¬νλ κ²μΌλ‘ μμ€μ½λλ₯Ό μ€ννλλ° νμν νκ²½μ κ΄λ¦¬ν©λλ€.
π μ€μ½νκ° λμ£ ?[βμ§λ¬Έ]
μ€ν컨ν μ€νΈμ λ μ컬 νκ²½μΌλ‘ μλ³μλ₯Ό κ΄λ¦¬ν©λλ€.
π λ μ컬 νκ²½μ΄ λμ£ ?
μ€μ½νμ μλ³μλ₯Ό κ΄λ¦¬λ μ»΄ν¬λνΈλ‘ μΈλΆ λ μ컬 κ΄κ²½μ λν μ°Έμ‘°λ₯Ό ν΅ν΄ μ€μ½ν 체μΈμ΄ μΌμ΄λκ² ν©λλ€.
λ μ컬 컨ν
μ€νΈλ₯Ό ꡬμ±νλ μ»΄ν¬λνΈλ‘json
: μ€μ½νλ₯Ό ꡬλΆνμ¬ μλ³μλ₯Ό λ±λ‘νκ³ κ΄λ¦¬νλ μ μ₯μ μν
π μ€μ½ν체μΈμ 무μμΈκ°μ?[βμ§λ¬Έ]
μλ³μ κ²°μ μ μν΄ μ€νμ€μΈ μ€ν컨ν
μ€νΈμμ μλ³μλ₯Ό κ²μνκ³ μμ μ μμ μ€μ½νλ‘ μ΄λν΄μ μ’
μ μΈ μ μ λ μ컬νκ²½
κΉμ§ μλ³μλ₯Ό κ²μνλ 루νΈλ₯Ό λ§ν©λλ€.
π alert λ μ¬μ€ μ μκ°μ²΄μ νλ‘νΌν°μΈλ° μ΄λ»κ² window
ν€μλ μμ΄ μ¬μ©ν μ μλμ?[βμ§λ¬Έ]
μ μ μ½λλ₯Ό νκ°νλ κ³Όμ μ μ μνκ²½λ μ½λμ BindingObjectλ₯Ό ν΅ν΄ μ μκ°μ²΄μ νλ‘νΌν°μ λ©μλκ° λ©λλ€.
'π JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JavaScriptμ thisμ λ°μΈλ© , νμ΄νν¨μκ° μ겨λκ² λ λ°°κ²½ (0) | 2022.06.22 |
---|---|
JavaScript replaceμ λ³μ νμ©νκΈ° - μ κ·ννμ (regExp) μ΄μ© (0) | 2022.05.17 |
[JS Tam9μν] #8 μλ°μ€ν¬λ¦½νΈμ this λ? (0) | 2021.08.11 |
[JS Tam9μν] #7 λΉνΈμΈ κ°μ²΄ (0) | 2021.08.09 |
[JS Tam9μν] #6 Prototype __proto__ [[Prototype]] (0) | 2021.08.08 |
λκΈ