자바스크립트

프로토타입

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 객체가 유사 배열 객체 형태로 되어있다.