[JavaScript] 1. λ³μ
π λͺ¨λ μλ°μ€ν¬λ¦½νΈ κ΅μ¬) 4μ₯. λ³μ
01. λ³μλ?
νλμ κ°μ μ μ₯νκΈ° μν΄ ν보ν λ©λͺ¨λ¦¬ κ³΅κ° μ체 λλ κ·Έ λ©λͺ¨λ¦¬ 곡κ°μ μλ³νκΈ° μν΄ λΆμΈ μ΄λ¦
π₯οΈ μμ μ½λ
var result = 10 + 20;
- λ³μ μ΄λ¦(λ³μλͺ ) : λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λ κ°μ μλ³ν μ μλ κ³ μ ν μ΄λ¦ (μμ μμ μμ, result)
- λ³μ κ° : λ³μμ μ μ₯λ κ° (μμ μμ μμ, 30)
- ν λΉ(λμ , μ μ₯) : λ³μμ κ°μ μ μ₯νλ κ²
- μ°Έμ‘° : λ³μμ μ μ₯λ κ°μ μ½μ΄ λ€μ΄λ κ²
02. μλ³μ
μ΄λ€ κ°μ ꡬλ³ν΄μ μλ³ν μ μλ κ³ μ ν μ΄λ¦ λλ λ³μ μ΄λ¦
κ°μ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λμ΄ μμΌλ―λ‘, μλ³μλ κ°μ΄ μλλΌ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κΈ°μ΅νκ³ μλ€.
μ¦, μλ³μλ λ©λͺ¨λ¦¬ μ£Όμμ λΆμΈ μ΄λ¦μ΄λΌκ³ ν μ μλ€.
03. λ³μ μ μΈ
λ³μλ₯Ό μ¬μ©νλ €λ©΄ λ°λμ μ μΈμ΄ νμνλ€.
λ³μλ₯Ό μ μΈν λλ var, let, const ν€μλλ₯Ό μ¬μ©νλ€.
let, const ν€μλκ° λμ λκΈ° μ μλ μλ°μ€ν¬λ¦½νΈμμ λ³μλ₯Ό μ μΈν μ μλ ν€μλλ var ν€μλκ° μ μΌνλ€.
κ·Έλ¬λ―λ‘ λ¨Όμ var ν€μλλ₯Ό μ¬μ©νμ¬ λ³μλ₯Ό μ μΈνλ λ°©λ²μ μ΄ν΄λ³΄λλ‘ νμ.
π‘ ν€μλ
ν€μλλ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό ν΄μνκ³ μ€ννλ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μνν λμμ κ·μ ν μΌμ’ μ λͺ λ Ήμ΄λ€.
μλ°μ€ν¬λ¦½νΈ μμ§μ ν€μλλ₯Ό λ§λλ©΄ μμ μ΄ μνν΄μΌ ν μ½μλ λμμ μννλ€.
π₯οΈ μμ μ½λ
var score;
var ν€μλλ λ€μ μ€λ λ³μ μ΄λ¦μΌλ‘ μλ‘μ΄ λ³μλ₯Ό μ μΈν κ²μ μ§μνλ ν€μλλ€.
π‘ μλ°μ€ν¬λ¦½νΈμ λ νΉν νΉμ§
λ³μλ₯Ό μ μΈν μ΄ν, λ³μμ κ°μ ν λΉνμ§ μμμ§λ§ λ©λͺ¨λ¦¬ 곡κ°μ΄ λΉμ΄μλ κ²μ μλλ€.
ν보λ λ©λͺ¨λ¦¬ 곡κ°μλ μλ°μ€ν¬λ¦½νΈ μμ§μ μν΄ undefinedλΌλ κ°μ΄ ν λΉλμ΄ μ΄κΈ°νλλ€.
π‘ μλ°μ€ν¬λ¦½νΈ μμ§μ λ³μ μ μΈ
- μ μΈ λ¨κ³ : λ³μ μ΄λ¦μ λ±λ‘ν΄μ μλ°μ€ν¬λ¦½νΈ μμ§μ λ³μμ μ‘΄μ¬λ₯Ό μλ¦°λ€.
- μ΄κΈ°ν λ¨κ³ : κ°μ μ μ₯νκΈ° μν λ©λͺ¨λ¦¬ 곡κ°μ ν보νκ³ μ묡μ μΌλ‘ undefinedλ₯Ό ν λΉν΄ μ΄κΈ°ννλ€.
π‘ ReferenceError(μ°Έκ³ μλ¬)
- μλ³μλ₯Ό ν΅ν΄ κ°μ μ°Έμ‘°νλ € νμ§λ§, μλ°μ€ν¬λ¦½νΈ μμ§μ΄ λ±λ‘λ μλ³μλ₯Ό μ°Ύμ μ μμ λ λ°μνλ μλ¬
4. λ³μ μ μΈμ μ€ν μμ κ³Ό λ³μ νΈμ΄μ€ν
π₯οΈ μμ μ½λ
console.log(score); // undefined
var score; // λ³μ μ μΈλ¬Έ
λ§μ½ μ½λκ° μμ°¨μ μΌλ‘ μ€νλλ λ°νμμ λ³μ μ μΈμ΄ μ€νλλ€λ©΄
console.log(score);κ° μ€νλλ μμ μλ μμ§ λ³μκ° μ μΈλκΈ° μ΄μ μ΄λ―λ‘ μ°Έμ‘° μλ¬(ReferenceError)κ° λ°μν΄μΌ νλ€.
νμ§λ§ undefinedκ° μΆλ ₯λλ€.
μ΄λ μλ°μ€ν¬λ¦½νΈμ νΉμ§μΈ λ³μ νΈμ΄μ€ν λλ¬Έμ΄λ€.
π‘ λ³μ νΈμ΄μ€ν (variable hoisting)
λ³μ μ μΈλ¬Έμ΄ μ½λμ μ λλ‘ λμ΄μ¬λ €μ§ κ²μ²λΌ λμνλ μλ°μ€ν¬λ¦½νΈ κ³ μ μ νΉμ§
μλ°μ€ν¬λ¦½νΈ μμ§μ μμ€μ½λλ₯Ό ν μ€μ© μμ°¨μ μΌλ‘ μ€ννκΈ°μ μμ λ¨Όμ μμ€μ½λμ νκ° κ³Όμ μ κ±°μΉλ©΄μ μμ€μ½λλ₯Ό μ€ννκΈ° μν μ€λΉλ₯Ό νλ€.
- μμ€μ½λμ νκ° κ³Όμ -> λͺ¨λ μ μΈλ¬Έμ μμ€μ½λμμ μ°Ύμλ΄ λ¨Όμ μ€ν
- λͺ¨λ μ μΈλ¬Έ μ μΈνκ³ μμ€μ½λλ₯Ό ν μ€μ© μμ°¨μ μΌλ‘ μ§ν
05. κ°μ ν λΉ
ν λΉ(λμ , μ μ₯) μ°μ°μ = μ¬μ©
π₯οΈ μμ μ½λ
var score; // λ³μ μ μΈ
score = 80; // κ°μ ν λΉ
var score = 80; // λ³μ μ μΈκ³Ό κ°μ ν λΉ
π‘ λ³μ νΈμ΄μ€ν μ λ°λ₯Έ μ£Όμμ
- λ³μ μ μΈ : μμ€μ½λκ° μμ°¨μ μΌλ‘ μ€νλλ μμ μΈ λ°νμ μ΄μ μ λ¨Όμ μ€ν
- κ°μ ν λΉ : μμ€μ½λκ° μμ°¨μ μΌλ‘ μ€νλλ μμ μΈ λ°νμμ μ€ν
06. κ°μ μ¬ν λΉ
π₯οΈ μμ μ½λ
var score = 80; // λ³μ μ μΈκ³Ό κ°μ ν λΉ
score = 90; // κ°μ μ¬ν λΉ
var ν€μλλ‘ μ μΈν λ³μλ κ°μ μ¬ν λΉν μ μλ€.
π‘ const ν€μλ
const ν€μλλ₯Ό μ¬μ©ν΄ μ μΈν λ³μλ μ¬ν λΉ κΈμ§
λ°λΌμ const ν€μλλ₯Ό μ¬μ©νλ©΄ μμλ₯Ό ννν μ μλ€.
07. μλ³μ λ€μ΄λ° κ·μΉ
π‘ μλ³μμ λ€μ΄λ° κ·μΉ
- μλ³μλ νΉμλ¬Έμλ₯Ό μ μΈν λ¬Έμ, μ«μ. μΈλμ€μ½μ΄(_), λ¬λ¬ κΈ°νΈ($)λ₯Ό ν¬ν¨ν μ μλ€.
- λ¨, μλ³μλ νΉμλ¬Έμλ₯Ό μ μΈν λ¬Έμ, μΈλμ€μ½μ΄(_), λ¬λ¬ κΈ°νΈ($)λ‘ μμν΄μΌ νλ€. μ«μλ‘ μμνλ κ²μ κΈμ§.
- μμ½μ΄λ μλ³μλ‘ μ¬μ©ν μ μλ€.
π‘ λ€μ΄λ° 컨벀μ (naming convention)
// μΉ΄λ© μΌμ΄μ€(camelCase)
var firstName;
// μ€λ€μ΄ν¬ μΌμ΄μ€(snake_case)
var first_name;
// νμ€μΉΌ μΌμ΄μ€(PascalCase)
var FirstName;
π‘ μΌλ°μ μ¬μ©
- λ³μλ ν¨μμ μ΄λ¦ : μΉ΄λ© μΌμ΄μ€
- μμ±μ ν¨μ, ν΄λμ€μ μ΄λ¦ : νμ€μΉΌ μΌμ΄μ€
- ECMAScript μ¬μ©μ μ μλμ΄ μλ κ°μ²΄μ ν¨μλ€ : μΉ΄λ© μΌμ΄μ€, νμ€μΉΌ μΌμ΄μ€
π μ°Έκ³ μλ£
[무λ£] λͺ¨λ μλ°μ€ν¬λ¦½νΈ λ₯λ€μ΄λΈ μ€ν°λ - μΈνλ° | κ°μ
γλͺ¨λ μλ°μ€ν¬λ¦½νΈ λ₯λ€μ΄λΈγ μ± λ΄μ©μ κ·Έλλ‘ λ°λΌκ°λ μ€ν°λ μμμ λλ€. ν¨κ» 곡λΆνλ©΄ ν¨μ¬ μ¬μμ§ κ±°μμ!, - κ°μ μκ° | μΈνλ°
www.inflearn.com