
[JS] μμ νμ κ³Ό μ°Έμ‘° νμ
JavaScriptμ λ°μ΄ν° νμ μ λν΄ μμλ΄ λλ€.
λ³μ vs κ°
λ¨Όμ λ³μμ κ°μ ꡬλΆμ λͺ νν νμ.
λ³μλ μμμ κ°μ βμ μ₯βνκΈ° μν λ©λͺ¨λ¦¬ 곡κ°μ΄λ©°
κ°μ λ³μμ βμ μ₯βλ λ°μ΄ν°λ‘μ ννμμ΄ νκ°λ κ²°κ³Όμ΄λ€.
let x = 10;
μ μ½λμμ λ³μλ x
μ΄κ³ κ°μ 10
μ΄λ€.
λ³μ μ μΈνκΈ°
JavaScriptμμ λ³μ μ μΈ μ var
, let
, const
ν€μλλ₯Ό μ¬μ©ν μ μλ€.
var
ν€μλλ‘ λ³μλ₯Ό μ μΈν κ²½μ° ν¨μ μ€μ½νλ₯Ό κ°μ§λ€.
function fun() {
if (true) { var x: number = 10; }
console.log(x); // 10
}
fun();
let
ν€μλλ‘ λ³μλ₯Ό μ μΈν κ²½μ° λΈλ‘ μ€μ½νλ₯Ό κ°μ§λ€.
function fun() {
if (true) { let x: number = 10; }
console.log(x); // error
}
fun();
const
ν€μλλ‘ λ³μλ₯Ό μ μΈν κ²½μ° μμλ₯Ό μ μΈνλ€.
λ§μ°¬κ°μ§λ‘ λΈλ‘ μ€μ½νλ₯Ό κ°μ§λ€.
const x = 10;
x = 20; // error
μμ νμ (Primitive Types)
μμ νμ
κ°μ΄ λ³μμ ν λΉλ λ λ³μμλ κ° μμ²΄κ° μ μ₯λλ€.
μ΄λ λ³μκ° ν΄λΉ κ°μ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°λ¦¬ν΄κ³Ό μν΅νλ€.
μ΄ κ°μ κ°μ²΄κ° μλκΈ°μ λ©μλλ₯Ό κ°μ§μ§ μλλ€.
ννΈ μμ νμ
κ°μ λΆλ³μ±μ κ°μ§λ€.
λ°λΌμ λ³μμ κ°μ λ³κ²½νλ©΄ μλ‘μ΄ λ©λͺ¨λ¦¬ μ£Όμμ μλ‘μ΄ κ°μ μ μ₯νκ² λλ€.
let x = 10;
x = 20;
number
νμ κ°10
μ λ©λͺ¨λ¦¬μ μ μ₯νλ€. (λ©λͺ¨λ¦¬ μ£Όμ:0xA
)- λ³μ
x
κ° λ©λͺ¨λ¦¬ μ£Όμ0xA
λ₯Ό κ°λ¦¬ν¨λ€. number
νμ κ°20
μ λ©λͺ¨λ¦¬μ μ μ₯νλ€. (λ©λͺ¨λ¦¬ μ£Όμ:0xB
)- λ³μ
x
κ° λ©λͺ¨λ¦¬ μ£Όμ0xB
λ₯Ό κ°λ¦¬ν¨λ€.
μ΄λ²μ λ³μμ κ°μ 볡μ¬νλ μν©μ μκ°ν΄λ³΄μ.
let x = 10;
let y = x;
number
νμ κ°10
μ λ©λͺ¨λ¦¬μ μ μ₯νλ€. (λ©λͺ¨λ¦¬ μ£Όμ:0xA
)- λ³μ
x
κ° λ©λͺ¨λ¦¬ μ£Όμ0xA
λ₯Ό κ°λ¦¬ν¨λ€. - λ³μ
x
κ° κ°λ¦¬ν€λnumber
νμ κ°10
μ λ©λͺ¨λ¦¬μ μ μ₯νλ€. (λ©λͺ¨λ¦¬ μ£Όμ:0xB
) - λ³μ
y
κ° λ©λͺ¨λ¦¬ μ£Όμ0xB
λ₯Ό κ°λ¦¬ν¨λ€.
μ¦ λ³μ x
μ y
λ μλ‘ λ€λ₯Έ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°λ¦¬ν€μ§λ§ κ°μ κ°μ κ°μ§λ€.
λνμ μΈ μμ νμ μ λ€μκ³Ό κ°λ€.
number
string
boolean
Q.
string
μ λ©μλκ° μμ΄μΌ νλ κ² μλκ°?μ°λ¦¬κ° μ¬μ©νλ
string
λ©μλλString
κ°μ²΄μ λ©μλμ΄λ€.
string
κ°μ΄ λ©μλλ₯Ό μ¬μ©ν λ μλμΌλ‘String
κ°μ²΄λ‘ λ³νλμ΄ λ©μλλ₯Ό μ¬μ©νλ€.
μ°Έμ‘° νμ (Reference Types)
μ°Έμ‘° νμ
κ°μ Heap λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λκ³ λ³μμλ κ°μ΄ μ μ₯λ Heap λ©λͺ¨λ¦¬ μ£Όμκ° μ μ₯λλ€.
μ΄λ let
ν€μλλ‘ μ μΈν λ°°μ΄μ κ²½μ° λ©λͺ¨λ¦¬ μ£Όμμ μ¬ν λΉμ΄ κ°λ₯νλ€λ κ²μ μλ―Ένλ€.
λ°λΌμ λ€λ₯Έ μ°Έμ‘° νμ
κ°μ μ¬ν λΉνκ³ μ νλ κ²½μ°κ° μλ κ²½μ° const
ν€μλλ‘ λ°°μ΄μ μ μΈνλ κ²μ΄ λ°λμ§νλ€.
μ°Έμ‘° νμ
κ°μ λ³κ²½νλλΌλ Heapμ λ©λͺ¨λ¦¬ μ£Όμλ λ³νμ§ μκΈ° λλ¬Έμ΄λ€.
λνμ μΈ μ°Έμ‘° νμ μ λ€μκ³Ό κ°λ€.
object
array
function
const obj = {
name: 'John',
age: 20
};
const arr = [1, 2, 3];