μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CSS
- μλ°μ€ν¬λ¦½νΈ
- REACT
- useEffect
- useRef
- λ°λΈμ½μ€
- history api
- νλ‘κ·Έλλ¨Έμ€
- Gatsby
- μκ³ λ¦¬μ¦
- position
- λΈλ‘κ·Έ
- fetch API
- Flex
- μ½λ©ν μ€νΈ
- λ°λΈμ½μ€3κΈ°
- float
- νλ‘ νΈμλ
- Props
- Today
- Total
Daehyunii's Dev-blog
14μ₯ μ μ λ³μμ λ¬Έμ μ λ³Έλ¬Έ
14μ₯ μ μ λ³μμ λ¬Έμ μ
Daehyunii 2022. 7. 4. 22:3514.1 λ³μμ μλͺ μ£ΌκΈ°
14.1.1 μ§μ λ³μμ μλͺ μ£ΌκΈ°
λ³μλ μ μΈμ μν΄ μμ±λκ³ ν λΉμ ν΅ν΄ κ°μ κ°λλ€. κ·Έλ¦¬κ³ μΈμ κ° μλ©Ένλ€. μ¦ λ³μλ μλ¬Όκ³Ό μ μ¬νκ² μμ±λκ³ μλ©Έλλ μλͺ μ£ΌκΈ°κ° μλ€. λ³μλ μμ μ΄ μ μΈλ μμΉ(μ μorμ§μ)μμ μμ±λκ³ μλ©Ένλ€. μ μ λ³μμ μλͺ μ£ΌκΈ°λ μ ν리μΌμ΄μ μ μλͺ μ£ΌκΈ°μ κ°λ€. νμ§λ§ ν¨μ λ΄λΆμμ μ μΈλ μ§μ λ³μλ ν¨μκ° νΈμΆλλ©΄ μμ±λκ³ ν¨μκ° μ’ λ£νλ©΄ μλ©Ένλ€. μ¦, μ§μ λ³μμ μλͺ μ£ΌκΈ°λ ν¨μμ μλͺ μ£ΌκΈ°μ μΌμΉνλ€. λ€μ λ§ν΄ μ§μ λ³μλ ν¨μκ° νΈμΆλλ©΄ μ§μ λ³μκ° μμ±λκ³ , ν¨μμ μ’ λ£μ ν¨κ» μ§μ λ³μλ μλ©Ένλ€.
14.1.2 μ μ λ³μμ μλͺ μ£ΌκΈ°
ν¨μμ λ¬λ¦¬ μ μ μ½λλ λͺ μμ μΈ νΈμΆ μμ΄ μ€νλλ€. λ€μ λ§ν΄, μ μ μ½λλ ν¨μ νΈμΆκ³Ό κ°μ΄ μ μ μ½λλ₯Ό μ€ννλ νΉλ³ν μ§μ μ μ΄ μκ³ μ½λκ° λ‘λλμλ§μ 곧λ°λ‘ ν΄μλκ³ μ€νλλ€. ν¨μλ ν¨μ λͺΈμ²΄μ λ§μ§λ§ λ¬Έ λλ λ°νλ¬Έμ΄ μ€νλλ©΄ μ’ λ£νμ§λ§ μ μ μ½λμλ λ°νλ¬Έμ μ¬μ©ν μ μμΌλ―λ‘ λ§μ§λ§ λ¬Έμ΄ μ€νλμ΄ λ μ΄μ μ€νν λ¬Έμ΄ μμ λ μ’ λ£νλ€.
var x = 'global'; //μ μ λ³μ xμ μλͺ
μ£ΌκΈ°
function foo() { //μ μ λ³μ xμ μλͺ
μ£ΌκΈ°
var x = 'local'; //μ μ λ³μ xμ μλͺ
μ£ΌκΈ° // μ§μ λ³μ xμ μλͺ
μ£ΌκΈ°
console.log(x); //μ μ λ³μ xμ μλͺ
μ£ΌκΈ° // μ§μ λ³μ xμ μλͺ
μ£ΌκΈ°
return x; //μ μ λ³μ xμ μλͺ
μ£ΌκΈ° // μ§μ λ³μ xμ μλͺ
μ£ΌκΈ°
}
foo(); //μ μ λ³μ xμ μλͺ
μ£ΌκΈ°
console.log(x); //μ μ λ³μ xμ μλͺ
μ£ΌκΈ°
14.2 μ μ λ³μμ λ¬Έμ μ
1. μ묡μ κ²°ν©
μ μ λ³μλ₯Ό μ μΈν μλλ μ μ, μ¦ μ½λ μ΄λμλ μ°Έμ‘°νκ³ ν λΉν μ μλ λ³μλ₯Ό μ¬μ©νκ² λ€λ κ²μ΄λ€. μ΄λ λͺ¨λ μ½λκ° μ μ λ³μλ₯Ό μ°Έμ‘°νκ³ λ³κ²½ν μ μλ μ묡μ κ²°ν©μ νμ©νλ κ²μ΄λ€. λ³μμ μ ν¨ λ²μκ° ν¬λ©΄ ν΄μλ‘ μ½λμ κ°λ μ±μ λλΉ μ§κ³ μλμΉ μκ² μνκ° λ³κ²½λ μ μλ μνμ±λ λμμ§λ€.(μ΄λμλ λ³κ²½ λ μ μμΌλ―λ‘)
2. κΈ΄ μλͺ μ£ΌκΈ°
μ μ λ³μλ μλͺ μ£ΌκΈ°κ° κΈΈλ€. λ°λΌμ λ©λͺ¨λ¦¬ 리μμ€λ μ€λ κΈ°κ° μλΉνλ€. λν μ μ λ³μμ μνλ₯Ό λ³κ²½ν μ μλ μκ°λ κΈΈκ³ κΈ°νλ λ§λ€. λμ±μ΄ var ν€μλλ λ³μμ μ€λ³΅ μ μΈμ νμ©νλ―λ‘ μλͺ μ£ΌκΈ°κ° κΈ΄ μ μ λ³μλ λ³μ μ΄λ¦μ΄ μ€λ³΅λ κ°λ₯μ±μ΄ μλ€. λ³μ μ΄λ¦μ΄ μ€λ³΅λλ©΄ μλμΉ μμ μ¬ν λΉμ΄ μ΄λ€μ§λ€.
3. μ€μ½ν μ²΄μΈ μμμ μ’ μ μ μ‘΄μ¬
μ μ λ³μλ μ€μ½ν μ²΄μΈ μμμ μ’ μ μ μ‘΄μ¬νλ€. μ΄λ λ³μλ₯Ό κ²μν λ μ μ λ³μκ° κ°μ₯ λ§μ§λ§μ κ²μλλ€λ κ²μ λ§νλ€. μ¦, μ μ λ²Όμμ κ²μ μλκ° κ°μ₯ λ리λ€. κ²μ μλμ μ°¨μ΄λ κ·Έλ€μ§ ν¬μ§ μκ² μ§λ§ μλμ μ°¨μ΄λ λΆλͺ ν μλ€.
4. λ€μμ€νμ΄μ€ μ€μΌ
μλ°μ€ν¬λ¦½νΈμ κ°μ₯ ν° λ¬Έμ μ μ€ νλλ νμΌμ΄ λΆλ¦¬λμ΄ μλ€ ν΄λ νλμ μ μ μ€μ½νλ₯Ό 곡μ νλ€λ κ²μ΄λ€. λ°λΌμ λ€λ₯Έ νμΌ λ΄μμ λμΌν μ΄λ¦μΌλ‘ λͺ λͺ λ μ μ λ³μλ μ μ ν¨μκ° κ°μ μ€μ½ν λ΄μ μ‘΄μ¬ν κ²½μ° μμμΉ λͺ»ν κ²°κ³Όλ₯Ό κ°μ Έμ¬ μ μλ€.
14.3 μ μ λ³μμ μ¬μ©μ μ΅μ νλ λ°©λ²
μ μ λ³μμ 무λΆλ³ν μ¬μ©μ μννλ€. μ μ λ³μλ₯Ό λ°λμ μ¬μ©ν΄μΌ ν μ΄μ λ₯Ό μ°Ύμ§ λͺ»νλ€λ©΄ μ§μ λ³μλ₯Ό μ¬μ©ν΄μΌ νλ€. λ³μμ μ€μ½νλ μ’μμλ‘ μ’λ€.
14.3.1 μ¦μ μ€ν ν¨μ
ν¨μ μ μμ λμμ νΈμΆλλ μ¦μ μ€ν ν¨μλ λ¨ ν λ²λ§ νΈμΆλλ€. λͺ¨λ μ½λλ₯Ό μ¦μ μ€ν ν¨μλ‘ κ°μΈλ©΄ λͺ¨λ λ³μλ μ¦μ μ€ν ν¨μμ μ§μ λ³μκ° λλ€. μ΄λ¬ν νΉμ±μ μ΄μ©ν΄ μ μ λ³μμ μ¬μ©μ μ ννλ λ°©λ²μ΄λ€.
(function(){
var foo = 10; // μ¦μ μ€ν ν¨μμ μ§μ λ³μ
}());
console.log(foo); // ReferenceError λ°μ
14.3.2 λ€μμ€νμ΄μ€ κ°μ²΄
μ μμ λ€μμ€νμ΄μ€ μν μ λ΄λΉν κ°μ²΄λ₯Ό μμ±νκ³ μ μ λ³μμ²λΌ μ¬μ©νκ³ μΆμ λ³μλ₯Ό νλ‘νΌν°λ‘ μΆκ°νλ λ°©λ²μ΄λ€.
var NAMESPACE = {};
NAMESPACE.name = 'lee';
console.log((NAMESPACE.name)); // lee
14.3.3 λͺ¨λ ν¨ν΄
λͺ¨λ ν¨ν΄μ ν΄λμ€λ₯Ό λͺ¨λ°©ν΄μ κ΄λ ¨μ΄ μλ λ³μμ ν¨μλ₯Ό λͺ¨μ μ¦μ μ€ν ν¨μλ‘ κ°μΈ νλμ λͺ¨λμ λ§λ λ€. λͺ¨λ ν¨ν΄μ μλ°μ€ν¬λ¦½νΈμ κ°λ ₯ν κΈ°λ₯μΈ ν΄λ‘μ λ₯Ό κΈ°λ°μΌλ‘ λμνλ€. λͺ¨λ ν¨ν΄μ νΉμ§μ μ μ λ³μμ μ΅μ λ λ¬Όλ‘ μΊ‘μνκΉμ§ ꡬνν μ μλ€λ κ²μ΄λ€.
λͺ¨λ ν¨ν΄μ μκΈ° μν΄μλ 'ν΄λ‘μ 'κ°λ μ μμμΌ μ΄ν΄ν μ μκΈ° λλ¬Έμ μμΈν λ΄μ©μ ν΄λ‘μ μ ν¨κ» μ 리νκ³ νλ€.
14.3.4 ES6 λͺ¨λ
ES6 λͺ¨λμ μ¬μ©νλ©΄ λλ μ μ λ³μλ₯Ό μ¬μ©ν μ μλ€. ES6 λͺ¨λμ νμΌ μ체μ λ μμ μΈ λͺ¨λ μ€μ½νλ₯Ό μ 곡νλ€. λ°λΌμ λͺ¨λ λ΄μμ var ν€μλλ‘ μ μΈν λ³μλ λλ μ μ λ³μκ° μλλ©° window κ°μ²΄μ νλ‘νΌν°λ μλλ€. μμ§ ES6 λͺ¨λμ λν κ°λ μ μμ§ λͺ»ν΄ μμΈν λ΄μ©μ λμ€μ λ€μ μ 리νκ³ νλ€.
'π Language & CS knowledge > JavaScript (λͺ¨λμλ°μ€ν¬λ¦½νΈ Deep Dive)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
16μ₯ νλ‘νΌν° μ΄νΈλ¦¬λ·°νΈ (0) | 2022.07.08 |
---|---|
15μ₯ let, const ν€μλμ λΈλ‘ λ 벨 μ€μ½ν (0) | 2022.07.06 |
13μ₯ μ€μ½ν (0) | 2022.07.03 |
12μ₯ ν¨μ (0) | 2022.07.02 |
11μ₯ μμ κ°κ³Ό κ°μ²΄μ λΉκ΅ (0) | 2022.07.01 |