자바스크립트
프로토타입
minkang
2021. 6. 24. 22:38
자바스크립트의 모든 객체는 자신의 부모 역할을 하는 객체와 연결되어 있다.
-> 부모 객체의 프로퍼티를 자신의 것처럼 사용할 수 있다.
자바스크립트에서는 이러한 부모 객체를 프로토타입이라고 부른다.
객체 리터럴 방식으로 생성된 객체의 경우 Object.prototype 객체가 프로토타입 객체가 된다.
1. 배열
배열 리터럴은 새로운 배열을 만드는데 사용하는 자바스크립트 표기법으로 대괄호([])를 사용한다.
1) 배열의 length 프로퍼티
자바스크립트의 모든 배열은 length 프로퍼티가 있다.
length 프로퍼티는 배열 내에 가장 큰 인덱스에 1을 더한 값이다.
배열 생성 시 arr은 빈 배열이기에 length 프로퍼티 값은 0이다.
배열은 length 프로퍼티를 기반으로 동작한다.
https://codedragon.tistory.com/5714
2) 유사 배열 객체
일반 객체에 length라는 프로퍼티를 가진 것을 유사 배열 객체라고 한다.
유사 배열 객체는 apply() 메서드를 사용하면 객체지만 표준 배열 메서드를 활용하는 것이 가능하다.
var arr = ['bar'];
arr.push('baz');
console.log(arr); // ['bar', 'baz']
var obj = { name: 'foo', length: 1 };
Array.prototype.push.apply(obj, ['baz']);
Array.prototype.push.apply(obj, ['baz2']);
console.log(obj); // {'1': 'baz', '2': 'baz2', name: 'foo', length: 2}
arguments 객체나 jQuery 객체가 유사 배열 객체 형태로 되어있다.