<μ€μ½ν Scope> -λ³μ μ κ·Ό κ·μΉμ λ°λ₯Έ μ ν¨λ²μ.
- μ€μ½νμ μλ―Έμ μ μ© λ²μλ₯Ό μ΄ν΄ν μ μλ€
- μ€μ½νμ μ£Όμ κ·μΉμ μ΄ν΄ν μ μλ€
- μ€μ²© κ·μΉ
- block scopeμ function scope
- μ μ μ€μ½νμ μ§μ μ€μ½ν
- μ μ λ³μμ μ§μ λ³μκ°μ μ°μ μμ
- let, const, var μ μ°¨μ΄
- μ μ κ°μ²΄(window)μ μ΄ν΄
let vscope = 'global';
//μ¬κΈ°λΆν°
function fscope() {
let vscope = 'local';
let lv = local variables';
alert(lv);
} //μ¬κΈ°κΉμ§ local scope
fscope();
alert(lv);
μ€μ½ν νΉμ§
1. λ°κΉ₯ μ€μ½ν(μ μ = Global Scope)μ λ³μλ μμͺ½μμ μ¬μ© κ°λ₯νλ€.
2. μμͺ½ μ€μ½ν(μ§μ = Local Scope)λ λ°κΉ₯μͺ½μμ μ¬μ© λΆκ°λ₯νλ€.
3.μ€μ½νλ μ€μ²©μ΄ κ°λ₯νλ€.
4. μμͺ½ μ€μ½ν(μ§μ = Local Scope)λ λ λμ μ°μ μμλ₯Ό κ°μ§λ€.
μ€μ½νμ μ’ λ₯
1. Block scope : μ€κ΄νΈλ‘ λλ¬μΌ λ²μ
2. Function scope : ν¨μλ‘ λλ¬μΌ λ²μ ( '=>' νμ΄ν ν¨μλ‘ λ§λλ κ²μ λΈλ‘μ€μ½ν)
λ³μ μ μΈ ν€μλλ³ μ 리
let | const | var | |
μ ν¨λ²μ | λΈλ‘,ν¨μ μ€μ½ν | λΈλ‘,ν¨μ μ€μ½ν | ν¨μ μ€μ½ν |
κ° μ¬ν λΉ | κ°λ₯ | λΆκ° | κ°λ₯ |
μ¬μ μΈ | λΆκ° | λΆκ° | κ°λ₯ |
μ£Όμμ¬ν
varμ κ²½μ° λ무 λ§μ μ μ λ³μμ ,ν¨μκ° μκΈΈμμμ΄ μλνμ§μμ side effectκ° μκΈΈμμκ³ ,
varλ λΈλ‘μ€μ½νλ₯Ό 무μνκ³ ν¨μ(νμ΄ν ν¨μ ν¬ν¨)μ€μ½νλ§ λ°λ₯΄κΈ°λλ¬Έμ letν€μλλ₯Ό μ¬μ©νλκ²μ κΆμ₯νλ€.
(letμ λΈλ‘ λ¨μλ‘ μ€μ½νλ₯Ό ꡬλΆν λ μμΈ‘ κ°λ₯ν μ½λλ₯Ό λ§λ€μμλ€.)
κΏν : JS νμΌ μλ¨μ use strictλ₯Ό μ¬μ©νλ©΄ λΈλΌμ°μ κ° λ³μλͺ μ΄ κ°μμλ¬λΆλΆμ μ격νκ² μ‘μμ€λ€κ³ νλ€.
'use strict';
<ν΄λ‘μ Closure> -μΈλΆν¨μμ λ³μμ μ κ·Όν μμλ λ΄λΆν¨μ
- ν΄λ‘μ ν¨μμ μ μμ νΉμ§μ λν΄μ μ΄ν΄ν μ μλ€
- ν΄λ‘μ κ° κ°λ μ€μ½ν λ²μλ₯Ό μ΄ν΄ν μ μλ€
- ν΄λ‘μ λ₯Ό μ΄μ©ν΄ μ μ©νκ² μ°μ΄λ λͺ κ°μ§ μ½λ© ν¨ν΄μ μ΄ν΄ν μ μλ€
ν΄λ‘μ ν¨μ νΉμ§
1. ν¨μλ₯Ό 리ν΄νλ ν¨μμ΄λ€.
2. μΈλΆν¨μμ λ³μμ μ κ·Όκ°λ₯ν λ΄λΆ ν¨μμ΄λ€.
3. λ°μ΄ν°λ₯Ό 보쑴νλ ν¨μμ΄λ€.
4.ν΄λ‘μ λͺ¨λν¨ν΄ (ν¨μμ μ¬μ¬μ©μ±μ κ·Ήλννμ¬ ν¨μνλλ₯Ό μμ ν λ 립μ μΈ λΆνννλ‘ λΆλ¦¬νλ€.)
!!μ λͺ¨λ₯΄κ² μΌλ©΄ μΌλ¨ μ΄λ κ² μκ°νμ
'ν¨μ λ΄μμ λ€λ₯Έ ν¨μ(λ΄λΆ ν¨μ)κ° λ¦¬ν΄μ΄ λλ©΄, μ΄ ν¨μλ₯Ό ν΄λ‘μ Έ ν¨μλΌκ³ λΆλ₯΄κ³ , μΈλΆ ν¨μμ μλ λ³μμ μ κ·Ό κ°λ₯νꡬλ'
μΌλ§ μλλ 짧μ μκ° κ³΅λΆνλ©΄μ κ°λ μ΄ν΄μ κ°λ¨ν μμ μ λλ νμ΄μλλ°,
μ€μ½νμ ν΄λ‘μ λ μμ μ μλ λͺ»λκ³ μ½μμ°½μ νλνλ μ°μ΄μ λ΅μ νμΈνλ€.
μ½κ° κ°λ°κ³΅λΆ ν΄λ‘μ μ ν¨κ» ν΄λ‘μ¦ ν λ»νλλ°...
체ν¬ν¬μΈνΈ 리뷰 ν¬λ£¨λμ΄ λ§νκΈΈ.. νλ²μ μ΄ν΄νλ©΄ μ²λ μ νλ² λνλλ κ°λ°μλΌκ³ νμ¬...γ γ
μ€μ½νμ ν΄λ‘μ ν·κ°λ¦΄λλ
1. μ§μ / μ μ μ€μ½ν λλκΈ°.
2. μ μΈ λ³μ μ°Ύκ³ μ§μ μ μΈμΈμ§/ μ μ μ μΈμΈμ§ μ°ΎκΈ°.
3. μ μΈλμ§μμ λ³μκ° κ°λ¦¬ν€λ λμμμμ λΆν° λ°μΌλ‘ μ°ΎκΈ°. (λ΄λΆμ μΈμ΄ μμΌλ©΄ κ±°κΈ°μ λλ)
λΌκ³ ,, νμ ¨μ§λ§ μ€μ λ‘ μμ 보면 "μλ... λκ° μ μ¬κΈ°μλμ....." x 100000000
λ΄κ° ν·κ°λ¦¬λ λΆλΆμ μ μΈμλ λ΄λΆ λ³μκ° κ°μ μ°Ύμ μ΄λλ‘ κ°μΌνλμ§ μ xμ°Ύλ€κ° μ΄λμκ° yμ μ ν λΉμ μ£Όκ²λκ²μΈμ§...
let x = 30;
function getnumber(x){ //μ΄λΆλΆμ xκ° νμ
μ μ€ λ§€κ°λ³μλΌμ let = x; λ‘ μ΄ν΄ν΄μΌνλ¨λ€
return x;
}
κ·Έλ¦¬κ³ λ¦¬ν΄μ ν΄μ μ΄λλ‘ κ°μΌνμ£ μμ μ¨ μ°λμλμ΄ μ²μμΈκ°μ...
νμ§λ§ λ€ννλ...
ν°μΌμ 보면 μμμΌμ΄ ν΄κ²°λλ―μ΄ ^^
μ΄λ μλ€λ λ μ΄λ €μ΄ κ°λ λ€μ λ§λλ©΄ μ μ°¨ μ΄ν΄κ° κ°λ€κ³ νλ κΈ°λ€λ €λ΄μΌκ² λ€..
λ μ¬μμ§λ건 μλ€. λκ° νΉμ¬νλ―μ΄ κ³΅λΆνλ©΄ μΈμ κ° λμμ μμμ μ°κ²°νλ€ . νμ΄ν .
'TIL -μΌκ°νμ΅κΈ°λ‘ > Java Script' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
3W_JS_ν΄λ‘μ ν¨μ (0) | 2021.12.29 |
---|---|
3W_JS_Scope (0) | 2021.12.29 |
3W_JS_Method (0) | 2021.11.25 |
1W _JS_쑰건문 (0) | 2021.11.15 |
1W _JS_ λ³μ, νμ (0) | 2021.11.10 |
λκΈ