μλ°μ€ν¬λ¦½νΈ λͺ¨λ κ°μ²΄λ μμ μ λΆλͺ¨ μν μ νλ κ°μ²΄μ μ°κ²°λμ΄ μλ€.
μ΄λ¬ν λΆλͺ¨ κ°μ²΄λ₯Ό νλ‘ν νμ
κ°μ²΄(짧κ²λ νλ‘ν νμ
)μ΄λΌκ³ λΆλ₯Έλ€.
let foo = {
name : 'foo',
nickname : 'babo'
};
foo.toString();
console.log(foo.toString());
console.dir(foo);
ν¬λ‘¬ λΈλΌμ°μ μμλ __proto__
κ° λ°λ‘ μ΄ μ¨κ²¨μ§ [[Prototype]] νλ‘νΌν°λ₯Ό μλ―Ένλ€. μ¦, foo κ°μ²΄λ μμ μ λΆλͺ¨ κ°μ²΄λ₯Ό __proto__
λΌλ λ΄λΆ νλ‘νΌν°λ‘ μ°κ²°νκ³ μλ κ²μ΄λ€.
κ·Έλμ μμ κ²°κ³Όμ κ°μ΄ νλ‘ν νμ (proto = Object.prototype)μ toString(),valueOf() λ± λ΄μ₯ λ©μλλ₯Ό λͺ¨λ νΈμΆ ν μ μλ€.
κ°μ²΄ 리ν°λ΄μ΄ μ€κ΄νΈ{ }λ₯Ό μ¬μ©νλ©΄ λ°°μ΄ λ¦¬ν°λ΄μ λκ΄νΈ[ ] λ₯Ό μ¬μ©νλ€
//λ°°μ΄ λ¦¬ν°λ΄
var arr = ['zero','one','two'];
console.log(arr);
console.dir(arr);
var emptyArr = [];
console.log(emptyArr[0]);
emptyArr[0] = 100;
var ttArr = ['zoo', 'aa', 'bb'];
ttArr.push('cc');
console.log(ttArr); // ["zoo", "aa", "bb", "cc"]
console.log(ttArr.pop()); // λ§¨λ€ κ°μ λ°ν
console.log(ttArr); // ["zoo", "aa", "bb"]
delete ttArr[2];
console.log(ttArr); // ["zoo", "aa", empty]
console.log(typeof ttArr[2]); // undefined
delete ttArr[2]λ‘ λ°°μ΄μ μμ νλ©΄ ν΄λΉ μμμ κ°μ undefinedλ‘ μ€μ ν λΏ μμ μ체λ₯Ό μμ νμ§ μλλ€.
μ μΈλ κ°μ²΄μ λ°°μ΄μ μμ±μ λ€μ¬λ€λ³΄λ©΄ κ°μ²΄λ Object.prototype κ°μ²΄κ° νλ‘ν νμ μ΄κ³ λ°°μ΄μ Array.prototype κ°μ²΄κ° νλ‘ν νμ μ΄λ€. κ·Έλμ λ°°μ΄μ μ¬μ©ν λλ push(), pop() κ°μ νμ€λ©μλκ° ν¬ν¨λμ΄ μμ΄μ μ¬μ©ν μ μλ€.