Scopeλ λ³μκ° μ΄λκΉμ§ μ°μΌ μ μλμ§μ λ²μλ₯Ό μλ―Έν©λλ€.
μ¦, λ³μκ° μ μΈλκ³ μ¬μ©ν μ μλ 곡κ°μ λλ€.
Block : μ€κ΄νΈ {}
λ‘ κ°μΈμ§ κ²μ blockμ΄λΌκ³ ν©λλ€.
{}
λ΄λΆλ₯Ό Block ScopeλΌκ³ ν©λλ€.
Block Scopeμμ λ³μκ° μ μλλ©΄ κ·Έ λ³μλ μ€λ‘μ§ Block Scope λ΄λΆμμλ§ μ¬μ©ν μ μμ΅λλ€.
μ΄λ κ² Block Scope λ΄λΆμμ μ μλ λ³μλ μ§μ λ³μ(local Variable)λΌκ³ λΆλ¦
λλ€.
Block Scope λ°μ Global ScopeλΌκ³ ν©λλ€. Global Scopeμμ λ§λ λ³μλ μ μ λ³μλΌκ³ ν©λλ€. μ μ λ³μλ μ½λ μ΄λμλ μ κ·Όμ΄ κ°λ₯ν©λλ€.
color
λ block scope λ°μμ μ μΈλ λ³μμ΄κΈ° λλ¬Έμ μ μλ³μμ
λλ€.
λ°λΌμ block scope μΈ returnColor
μ μμμλ μ κ·Όμ΄ κ°λ₯ν©λλ€.
μ μ λ³μλ₯Ό μ¬μ©νλ©΄ μ무곳μμλ μ κ·ΌνκΈ° μ½μ§λ§, κ·Έλ§νΌ λ¨μ©νλ©΄ νλ‘κ·Έλ¨μ λ¬Έμ λ₯Ό μΌμΌν¬ μ μμ΅λλ€.
μ μ λ³μλ μ μΈνλ©΄ ν΄λΉ νλ‘κ·Έλ¨ μ΄λμλ μ¬μ©ν μ μλ global namespaceλ₯Ό κ°μ΅λλ€.
* namespaceλΌλ κ²μ λ³μ μ΄λ¦μ μ¬μ©ν μ μλ λ²μλΌλ λ»μ λλ€.
μ μλ³μλ νλ‘κ·Έλ¨μ΄ μ’
λ£λ λ κΉμ§ μ΄μμμ΅λλ€.
μ§μλ³μλ blockμ΄ λλλ©΄ λ μ΄μ λ³μκ° μ΄μμμ§ μμμ μΈ μ μμ΅λλ€.
μ μλ³μκ° κ³μ μ΄μμ λ³μκ°μ΄ κ³μ λ³νλ€λ©΄ ν΄λΉ λ³μλ₯Ό νΈλνΉνκΈ° μ΄λ ΅κ³ , μλ§μ μ½λ μ€μ ν΄λΉ μ μλ³μκ° μ΄λμ μ μΈλλμ§λ₯Ό μ°ΎμμΌν©λλ€.
μλλ Scope μ€μΌμ λνμ μΈ μμμ
λλ€.
stars
Β μ΄λΌλ μ μ λ³μκ° μμμ΅λλ€.callMyNightSky
Β ν¨μ μλ‘μ΄ λ³μλ₯Ό μ μΈνλ €κ³ νλλ° μ€μλ‘ let
Β ν€μλλ₯Ό μμ±νμ§ μμμ΅λλ€.stars
μ λ°λμ΄λ²λ €μ μνμ§ μμλ κ°μΈ βSiriusβ
κ° μ¬μ©λλ²λ Έμ΅λλ€..!!π±μμμ μ½λλ μμ£Ό 짧μ§λ§, νμ μμλ λͺ μκ°, λͺ λ°±κ°μ ν¨μλ₯Ό μ¬μ©ν μ§ λͺ¨λ₯΄λ μν©μμ μ μ λ³μλ₯Ό λ¨μ©νκ² λλ©΄, μ λ° μ€μλ₯Ό νμ λ μ΄λμ κ°μ΄ μμ λλμ§, μ€λ₯κ° μκ²Όλμ§ μ μ μκ² λ©λλ€.
μ΅λν Block Scopeμμ μ§μλ³μλ₯Ό μ μΈν΄μΌν©λλ€.
μ§μ λ³μμ μ₯μ
- μ½λμ νμ§μ μ¬λ €μ€λλ€.
- blockμΌλ‘ ꡬλΆλκΈ° λλ¬Έμ μ½λ κ°λ μ±μ΄ μ¬λΌκ°λ€.
- κΈ°λ₯λ³λ‘ blockμ λλλ©΄ μ½λλ₯Ό μ΄ν΄νκΈ° μ¬μμ§λ€.
- νλ‘κ·Έλ¨μ΄ λλ λκΉμ§ λ³μκ° μ΄μμλ μ μλ³μμ λ¬λ¦¬ μ§μλ³μλ blockμ΄ λλλ©΄ λ³μμ μ¬μ©μ΄ μ’ λ£λμ΄μ λ©λͺ¨λ¦¬ μ μ½μ΄ λλ€.
μ¦, μ μ λ³μλ₯Ό μ°μ§ μλλ‘ λ
Έλ ₯νκ³ , μ΅λν Block Scopeμμ let
κ³Ό const
λ₯Ό μ¬μ©νμ¬ μ½λλ₯Όμμ±ν΄μΌν©λλ€.
{}
λ‘ κ°μΈμ§ κ²μ blockμ΄λΌκ³ ν©λλ€.