JavaScript μλ°μ€ν¬λ¦½νΈλ?
- -
π€ JavaScript μλ°μ€ν¬λ¦½νΈ!
μλ°μ€ν¬λ¦½νΈλ₯Ό μ²μ μ νλ κ²μ΄ μκ·Έμ κ°μλ°, μ΄λ° μ λ° κ³΅λΆλ₯Ό νλ©΄μ μ΄λμκ° μΉμν μΉκ΅¬κ° λμ΄λ²λ¦° μ΄ μΉκ΅¬μ λν΄μ μ΄ν΄λ³΄μ. μλ°μ€ν¬λ¦½νΈλ μ΄λ€ μΈμ΄μΈκ°?
π€μλ°μ€ν¬λ¦½νΈλ μ΄λ€ μΈμ΄μΈκ°?
0. λ°μλ€ λ°λΉ . μμ½ν΄μ λ§ν΄μ€!
μμ½ν΄μ λ§νλ©΄, μλμ κ°μ΄ μ΄ν΄λ³Ό μ μλ€.
μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ κΈ°λ°μ κ°μ²΄μ§ν₯ μΈμ΄
μλ°μ€ν¬λ¦½νΈλ λͺ λ Ήν, ν¨μν, νλ‘ν νμ κΈ°λ°μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ§μνλ λ©ν° ν¨λ¬λ€μ νλ‘κ·Έλλ° μΈμ΄
+ μλ°μ€ν¬λ¦½νΈλ λμ μΌλ‘ μΉ νμ΄μ§λ₯Ό λμνλ©° λ³λμ μ»΄νμΌ μμ μ μννμ§ μλ μΈν°νλ¦¬ν° μΈμ΄
κ·Έλ λ€λ©΄ νλ‘ν νμ , κ°μ²΄μ§ν₯μΈμ΄, λͺ λ Ήν, ν¨μν, μΈν°ν리ν°μΈμ΄ λ±μ κ°λ μ λν΄μ μ΄ν΄λ³ΌκΉ?
1. νλ‘ν νμ
νλ‘ν νμ κΈ°λ° μΈμ΄λ ν΄λμ€ κΈ°λ° μΈμ΄μμ μμμ μ¬μ©νλ κ²κ³Όλ λ€λ₯΄κ², κ°μ²΄λ₯Ό μν(νλ‘ν νμ )μΌλ‘ νλ 볡μ κ³Όμ μ ν΅ν΄ κ°μ²΄μ λμ λ°©μμ μ¬μ¬μ© ν μ μκ² νλ€.
μλ°μ€ν¬λ¦½νΈμμ λ¨μ μμ νμ (simple primitive)μΈ λ¬Έμμ΄, μ«μ, λΆλ¦¬μΈ, null, undefinedλ₯Ό μ μΈν λͺ¨λ νμ μ κ°μ²΄λ€. μλ°μ€ν¬λ¦½νΈμμλ λ°°μ΄λ κ°μ²΄κ³ ν¨μλ κ°μ²΄λ€. μλ°μ€ν¬λ¦½νΈμμ κ°μ²΄λ μν κ°μ²΄λ‘ λΆν° μμ±λλ©°, μμ±λ κ°μ²΄λ μνμ λν νλ‘ν νμ λ§ν¬(__proto__)λ₯Ό κ°κ² λλ€. μν λν κ°μ²΄μ΄κΈ° λλ¬Έμ μνμ λ λ€λ₯Έ μνμ μ°Έμ‘°νκ² λκ³ , λ€μ κ·Έλ¦Όκ³Ό κ°μ΄ μ°μλ νλ‘ν νμ λ§ν¬λ₯Ό ν΅ν΄ μλ°μ€ν¬λ¦½νΈ κ°μ²΄μ μ΅μ’ μνμΈ Object.prototypeκΉμ§ μ°κ²°λλ€.
μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ κΈ°λ° μΈμ΄μ΄κΈ° λλ¬Έμ μμ 볡μ λ₯Ό ν΅ν΄ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±.
μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ²΄λ prototype κ°μ²΄λ₯Ό κ°μ§κ³ μκ³ κ·Έ prototypeμ 볡μ νλ©΄μ κ°μ²΄λ₯Ό μμ±
μμ½νλ©΄ Object.prototypeκ° λͺ¨λ κ°μ²΄λ€μ μ‘°μμ΄λΌκ³ μκ°νλ©΄ λ¨
2. λͺ λ Ήν
κ°λ
νλ‘κ·Έλ¨ μνλ₯Ό λ³κ²½νλ λ¬Έμ μ¬μ©νμ¬ μμ μ μννλ λ°©λ²μ μ€λͺ νλ λ° μ€μ μ λλ€.
루νμ 쑰건문μ μ¬μ©νμ¬ νλ‘κ·Έλ¨ νλ¦μ λͺ μμ μΌλ‘ μ μ΄
μ½λ
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
3. ν¨μν
κ°λ
μ’ μ’ μνλ₯Ό λ³κ²½νμ§ μκ³ μμ μ μννκΈ° μν΄ ν¨μ, λΆλ³μ± λ° ννμμ μ¬μ©μ κ°μ‘°νλ€.
map, filter, reduceμ κ°μ κ³ μ°¨ ν¨μ μ¬μ©
μ½λ
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, num) => acc + num, 0);
4. κ°μ²΄μ§ν₯μΈμ΄
ν΄λμ€ κΈ°λ° μΈμ΄λ ν΄λμ€λ₯Ό μ μνκ³ κ·Έ ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ κ°μ²΄λ₯Ό μμ±νλ λ°λ©΄, μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ κΈ°λ° μΈμ΄λ‘ ν΄λμ€ μμ΄λ κ°μ²΄λ₯Ό μμ±νκ³ νλ‘ν νμ 체μΈμ ν΅ν΄ μμκ³Ό μμ± κ³΅μ λ₯Ό ꡬννλ€(κ°μ²΄λ μν λ°μ΄ν°μ λ μμ νλμ λ Όλ¦¬μ μΈ λ¨μλ‘ λ¬Άμ 볡ν©μ μΈ μλ£κ΅¬μ‘°).
OOPμμ μ½λλ λ°μ΄ν°μ λμμ λͺ¨λ μΊ‘μννλ κ°μ²΄λ₯Ό μ€μ¬μΌλ‘ μ§νλλ€. μΊ‘μν, μμ λ° λ€νμ±κ³Ό κ°μ κΈ°λ³Έ κ°λ μ μ΄μ§νμ¬ λͺ¨λμ, νμ₯ κ°λ₯ λ° μ μ§ κ΄λ¦¬ κ°λ₯ν μ½λ μμ±. OOPλ μ€μ μν°ν°μ μ§κ΄μ μΈ λͺ¨λΈλ§μ μ΄μ§νκ³ ν΄λμ€ λ° κ°μ²΄ μ¬μ©μ ν΅ν΄ μ½λ μ¬μ¬μ© λ° νμ μ μ₯λ €
μ 리ν΄λ, κ°μ²΄μ§ν₯μΈμ΄μ λν μ λ¦¬κΈ μ°Έκ³
ꡬ쑰μ νλ‘κ·Έλ¨κ³Ό κ°μ²΄μ§ν₯ μΈμ΄μ μ°¨μ΄μ
π£ μ€λλ νλ¨κ³ UP!ꡬ쑰μ νλ‘κ·Έλ¨κ³Ό κ°μ²΄μ§ν₯ μΈμ΄μ μ°¨μ΄μ μ λν΄μ μ΄ν΄λ³΄λλ‘ νμ!_! λλ₯! π£ ꡬ쑰μ νλ‘κ·Έλ¨1. κ°λ ꡬ쑰μ νλ‘κ·Έλλ°μ μμ μ λ μκ³ κ΄λ¦¬ κ°λ₯ν μ μ°¨λ κΈ°λ₯
haileyham.tistory.com
5. μΈν°νλ¦¬ν° μΈμ΄
μΈν°νλ¦¬ν° μΈμ΄λ μ»΄νμΌλ¬ μΈμ΄λ λλΉλλ κ°λ μ΄λ€. μ΄λ λμ€μ λΉκ΅ μ 리νλλ‘ νκ² μ!
κ°λ
- μ½λκ° μ€νλ λλ§λ€ μΈν°νλ¦¬νΈ κ³Όμ λ°λ³΅ μν(μμ€μ½λλ₯Ό μ¦μ μ€ν)
- μΈν°νλ¦¬νΈ λ¨κ³(λ¬Έ λ¨μλ‘ μ½λ)μ μ€ν λ¨κ³κ° λΆλ¦¬λμ΄ μμ§ μκ³ λ°λ³΅ μνλμ΄ μ½λ μ€ν μλκ° λΉκ΅μ λλ¦Ό
- μ΅κ·Όμλ μ»΄νμΌλ¬μ μΈν°ν리ν°μ κΈ°μ μ ꡬλΆν λͺ¨νΈν΄μ Έ κ°λ μΆμΈ. νμ§λ§ μλ°μ€ν¬λ¦½νΈλ λ°νμμ μ»΄νμΌλλ©° μ€ν νμΌμ΄ μμ±λμ§ μκ³ μΈν°ν리ν°μ λμ μμ΄λ μ€ν λΆκ°.
- μΈν°νλ¦¬νΈ : νλ‘κ·Έλλ° μΈμ΄λ‘ μμ±λ μμ€ μ½λλ₯Ό ν μ€μ© ν΄μνμ¬ μ€ννλ λ°©μμ μ»΄ν¨ν° νλ‘κ·Έλ¨. μ»΄νμΌκ³Ό λ¬λ¦¬ μ€ν νμΌμ μμ±νμ§ μκ³ , μ½λλ₯Ό λ°λ‘ μ€ννμ¬ κ²°κ³Ό 보μ¬μ€
νΉμ§
- νλ‘κ·Έλ¨ μ€νμ ν λ²μ ν λ¬Έμ₯μ© λ²μνλ€.
- νλ²μ νλ¬Έμ₯μ© λ²μν μ€ν μν€κΈ° λλ¬Έμ μ€ν μκ°μ΄ λ리λ€.
- μ»΄νμΌλ¬μ κ°μ μ€λΈμ νΈ μ½λ μμ±κ³Όμ μ΄ μκΈ° λλ¬Έμ λ©λͺ¨λ¦¬ ν¨μ¨μ΄ μ’λ€.
- νλ‘κ·Έλ¨μ μ€νμν€κ³ λμ μ€λ₯λ₯Ό λ°κ²¬νλ©΄ λ°λ‘ μ€νμ μ€μ§ μν¨λ€. μ€ν νμ μ€λ₯λ₯Ό μ μ μλ€.
λμμλ©΄ μλ κ²μ΄ μ μμΌκΉ
π Reference
λͺ¨λμλ°μ€ν¬λ¦½νΈ
'FrontEnd > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] toLocaleDateString (0) | 2024.01.31 |
---|---|
[JavaScript] TDZ(Temporal Dead Zone) : λ³μμ μκ° μ¬ν~ (0) | 2024.01.06 |
[JavaScript] var, let, const μ°¨μ΄μ (0) | 2024.01.06 |
[JavaScript] λ³μμ μ μΈ, μ΄κΈ°ν, ν λΉ (0) | 2024.01.05 |
[JavaScript] μμμ μΈμ λ λ³μ (0) | 2024.01.03 |
μμ€ν κ³΅κ° κ°μ¬ν©λλ€