const a = ['a', 'b', 'c'];
console.log(a[0]);
console.log(a[1]);
console.log(a[2]);
const b = { '0': 'a', '1': 'b', '2': 'c' };
console.log(b[0]);
console.log(b[1]);
console.log(b[2]);
console.log(typeof a); // object
console.log(typeof b); // object
객체 b에서 b['0']이 아닌 b[0]으로 호출이 가능한 이유는 대괄호안에는 문자열 형태로 접근해야하는데 숫자를 입력하는 경우 자바스크립트 엔진이 문자열 형태로 바꿔주기 때문이다.
타입을 비교해보면 자바스크립트에서는 배열과 객체 모두 object로 생각한다.
리터럴 방식으로 생성한 객체의 경우 Object.prototype가 프로토 타입이된다.
배열의 경우 Array.prototype 객체가 부모객체인 프로토타입이 된다.
위의 경우 Array.prototype은 Object.prototype이 된다.
댓글