πΏ κΈ°λ³Έν νμ (Primitive type)...?
: λ‘μ° λ 벨μμ μ§μ ννλλ λΆλ³μ λ°μ΄ν°.
- Boolean νμ
- Null νμ
- Undefined νμ
- Number νμ
- BigInt νμ
- String νμ
- Symbol νμ
πΏ μ°Έμ‘°ν νμ (Reference type)...?
- Object
- Array
- Function
- Date
- regexp
- Map, WeakMap
- Set, WeakSet
: λΆλ³ κ°μ²΄λ μμ± ν κ·Έ μνλ₯Ό λ°κΏ μ μλ κ°μ²΄λ₯Ό μλ―Έν¨.
Object.freeze() λ©μλλ₯Ό μ΄μ©νλ λ°©λ².
κ°μ²΄λ₯Ό λκ²°νλ€κ³ νννλ€. λκ²°λ κ°μ²΄λ μλ‘μ΄ μμ±μ μΆκ°νκ±°λ μ‘΄μ¬νλ μμ±μ μ κ±°νλ κ²μ λ°©μ§νλ©° μ‘΄μ¬νλ μμ±μ λΆλ³μ±, μ€μ κ°λ₯μ±(configurability), μμ± κ°λ₯μ±μ΄ λ³κ²½λλ κ²μ λ°©μ§νκ³ , μ‘΄μ¬νλ μμ±μ κ°μ΄ λ³κ²½λλ κ²λ λ°©μ§ν©λλ€. λν, λκ²° κ°μ²΄λ κ·Έ νλ‘ν νμ μ΄ λ³κ²½λλκ²λ λ°©μ§ν©λλ€. freeze()λ μ λ¬λ λμΌν κ°μ²΄λ₯Ό λ°νν©λλ€.const obj = { prop: 42 }; Object.freeze(obj); obj.prop = 33; // Throws an error in strict mode console.log(obj.prop); // expected output: 42
μΆμ²:https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
πΎ **μμ 볡μ¬
: κ°μ²΄μ 'μ°Έμ‘°κ°(μ£Όμ κ°)'μ 볡μ¬
const A = { name: 'μ μ', age: 20}; const B = A; console.log( A === B ); // true B.name = 'μ νΈ'; console.log(A.name); // μ νΈ.
β‘ κ°μ²΄(A)λ₯Ό μ§μ λμ νλ κ²½μ°, μ°Έμ‘°μ μν ν λΉμ΄ μ΄λ£¨μ΄μ§λ―λ‘ λμ κ°μ λ°μ΄ν°(μ£Όμ)λ₯Ό κ°μ§κ³ μλ€.
λλ¬Έμ Bμ propertyλ₯Ό μμ νκ³ , Aλ₯Ό μΆλ ₯ν΄λ Bκ°κ³Ό 'λμΌ'νλ€.
πΎκΉμ 볡μ¬...?
: κ°μ²΄μ 'μ€μ κ°'μ 볡μ¬.
const A = {name: 'μ μ', age: 20}; const B = { ...obj }; B.name = 'μ νΈ'; console.log( A === B ) // false console.log( A.name ) // μ μ
β‘...(spread) μ°μ°μλ₯Ό ν΅ν΄ { }μμ Aμ propertyλ₯Ό 볡μ¬νμ¬ Bμ ν λΉνμλ€.
μ΄μ Aμ Bλ λ€λ₯Έ μ£Όμλ₯Ό κ°κ²λμλ€.
π λ°μΈλ©μ΄λ?
μλ³μμ κ°μ μ°κ²°νλ κ³Όμ .
λ³μμ μΈμ λ³μ μ΄λ¦κ³Ό ν보λ λ©λͺ¨λ¦¬ 곡κ°μ μ£Όμλ₯Ό λ°μΈλ©νλ κ²μ΄λ€.