Primitive Types & Reference Types in JavaScript - Lee-hyuna/33-js-concepts-kr GitHub Wiki
λ€λ₯Έ μΈμ΄λ€κ³Όλ λ€λ₯Έ μλ°μ€ν¬λ¦½νΈμ pass-by-value μ λν μ€λͺ μ λλ€.
- μλ°μ€ν¬λ¦½νΈλ μμμ μ°Έμ‘° 2 μ’ λ₯μ νμ μ κ°μ§κ³ μλ€.
- λ³μκ° λ³΅μ¬ λμμ λ, λ©λͺ¨λ¦¬ μμ κ°μ΄ 볡μ¬λλ€.
- λͺ¨λ λ³μκ° μμ±λ νμ κ³ μ λ μμ λ©λͺ¨λ¦¬κ° ν λΉλ©λλ€.
- λ³μκ° λ³΅μ¬ λ λ ,λ©λͺ¨λ¦¬ λ΄μ κ°μ΄ 볡μ¬λ©λλ€.
λ©λͺ¨λ¦¬μμ μμ νμ μ μ€μ κ°(e.g. boolean true, number 42) μ λλ€. μμ νμ μ κ³ μ λ μμ λ©λͺ¨λ¦¬μ μ μ₯ λ μ μμ΅λλ€.
- null
- undefined
- Boolean
- Number
- String
μμ νμ μ μ€μΉΌλΌ λλ λ¨μν νμ μ΄λΌκ³ λ νλ€.
μ°Έμ‘° μ νμ λ€λ₯Έ κ°λ€μ ν¬ν¨ ν μ μμ΅λλ€. μ°Έμ‘° μ νμ λ΄μ©μ λ³μμ μ΄μ©λ μ μλ κ³ μ λ λ©λͺ¨λ¦¬ μμ λ§μ§ μμ μ μμ΅λλ€. μ°Έμ‘° μ νμ λ©λͺ¨λ¦¬μμ κ°μ μ°Έμ‘° μ ν μ체μ κ° μ λλ€.
- Array
- Object
- Function
μ°Έμ‘° μ νμ 볡ν©, 컨ν μ΄λ μ νμ΄λΌκ³ λ ν©λλ€.
var a = 13 // assign `13` to `a`
var b = a // copy the value of `a` to `b`
b = 37 // assign `37` to `b`
console.log(a) // => 13
μλ³Έ κ°μ λ°λμ§ μμ΅λλ€. μ°λ¦¬λ μ€μ§ λ³κ²½λ κ°λ§ νμΈν μ μμ΅λλ€.
var a = { c: 13 } // assign the reference of a new object to `a`
var b = a // copy the reference of the object inside `a` to new variable `b`
b.c = 37 // modify the contents of the object `b` refers to
console.log(a) // => { c: 37 }
μ°Έμ‘°κ° λ³΅μ¬λ ν μλ³Έλ λ³κ²½λ©λλ€.