μλ°μ€ν¬λ¦½νΈμ λͺ¨λ κ°μ²΄λ μμ μ λΆλͺ¨ μν μ νλ κ°μ²΄μ μ°κ²°λμ΄ μκ³ , μ΄κ²μ νλ‘ν νμ κ°μ²΄ λλ νλ‘ν νμ μ΄λΌκ³ λΆλ₯Έλ€. κ°μ²΄λ μμ μ λΆλͺ¨ κ°μ²΄μ νλ‘νΌν°λ₯Ό μμ μ κ²μ²λΌ μ¬μ©ν μ μλ€. (μμμ κ°λ κ³Ό μ μ¬ν¨)
var obj = {
name : 'hello',
age : 30
}
console.log(obj.toString());
console.dir(obj);
obj κ°μ²΄μ toString() μ΄λΌλ λ©μλκ° μμ§λ§ μλ¬κ° λ°μνμ§ μλ μ΄μ λ, obj κ°μ²΄μ νλ‘ν νμ μ toString()μ΄ μ΄λ―Έ μ μλμ΄ μκΈ° λλ¬Έμ΄λ€.
console.dir(obj)μ μΆλ ₯λ¬Όμ 보면 _proto_ μμ toStringμ΄ μ μλμ΄ μμμ νμΈν μ μλ€. κ·Έ μΈμλ valueOf λ± κΈ°λ³Έ λ΄μ₯ λ©μλλ₯Ό κ°μ§κ³ μλ€. μ΄ λ©μλλ€μ μλ°μ€ν¬λ¦½νΈ νμ€ λ©μλλ‘μ ECMAScript λͺ μΈμμ μ μλμ΄ μλ€.
λͺ¨λ κ°μ²΄λ μμ μ νλ‘ν νμ μ κ°λ¦¬ν€λ [[Prototype]]μ΄λΌλ μ¨κ²¨μ§ νλ‘νΌν°λ₯Ό κ°μ§λ€. ECMAScript λͺ μΈμμλ [[Prototype]]μ΄λΌκ³ λμμμΌλ©°, ν¬λ‘¬μ _proto_μΌλ‘ λͺ μλμ΄ μλ€.
κ°μ²΄μ νλ‘ν νμ μ κ°μ²΄λ₯Ό μμ±ν λ κ²°μ λλ€. μλ₯Ό λ€μ΄ μμ μμμ²λΌ κ°μ²΄ 리ν°λ΄ λ°©μμΌλ‘ μμ±λ κ°μ²΄λ Object.prototype κ°μ²΄(_proto_κ° κ°λ¦¬ν€λ κ°μ²΄)λ₯Ό νλ‘ν νμ μΌλ‘ κ°μ§λ€. λ°λ©΄ νλ‘ν νμ κ°μ²΄λ₯Ό λμ μΌλ‘ λ€λ₯Έ κ°μ²΄λ‘ λ°κΎΈλ κ²λ κ°λ₯νλ€. => μ΄λ₯Ό ν΅ν΄ κ°μ²΄ μμ ꡬν
'π»Study > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
κΈ°λ³Έ νμ κ³Ό νμ€ λ©μλ / μ°μ°μ (0) | 2021.03.09 |
---|---|
λ°°μ΄ (0) | 2021.03.05 |
μλ°μ€ν¬λ¦½νΈμ λ°μ΄ν° νμ (0) | 2021.02.09 |
μλ°μ€ν¬λ¦½νΈμ κ°μμ ν΅μ¬ κ°λ (0) | 2021.02.09 |