let obj = {}
alert( obj ); // [object Object]
객체를 만들 때, [[prototype]]은 Object.prototype을 참조
모든 내장 프로토타입 꼭대기에는 Object.prototpye, 모든 것은 객체를 상속받음
네이티브 프로토타입 변경을 허용하는 경우는 딱 하나, 폴리필
을 만들 때
=> 프로토타입은 전역으로 영향을 미치기 때문에 조작하면 충돌이 날 가능성이 높음
//repeat이라는 메서드가 없다고 가정
if (!String.prototype.repeat) {
String.prototype.repeat = function (n) {
return newArray( n +1).join(this)
}
}
alert('La'.repeat(3)) ; // LaLaLa
한 객체의 메서드를 다른 객체로 복사할 때 사용
let obj = {
0: "Hello"
1: "world!",
length: 2,
};
obj.join = Array.prototype.join;
alert(obj.join(',')) ; // Hello,world!
join은 인덱스가 있는지 length프로퍼티가 있는지만 확인하기 떄문에 가능