우리가 알다시피, 우리는 객체의 속성에 접근하려고 할 때 객체가 자신의 속성을 가지고 있는지 먼저 확인합니다. 찾지 못하면 프로토 타입을 탐색하여 프로토 타입 체인을 검사합니다. 질문에 오는객체가 값을 얻기 위해 프로토 타입 체인을 트래버스하지 않는 경우가 있습니까?
이, 위의 조각, 첫 번째 CONSOLE.LOG 문에서 아래의 코드 (http://jsbin.com/mabajidoti/edit?js,console)
function CT() {}
CT.prototype.myValue = 4;
var myObj = Object.create(CT);
console.log(myObj.myValue); //logs undefined
console.log(myObj.prototype.myValue) //logs 4
을 확인하시기 바랍니다 myObj.myValue는 myValue가에서 사용할 수있는 경우에도 정의되지 않은 반환의 prototype (두 번째 console.log 문)? myValue의 값을 가져 오기 위해 프로토 타입 체인을 통과해서는 안됩니까?
'CT.prototype'가 프로토 타입으로 사용하여 CT 클래스를 참조
new Obj()
첫 페이지의 배열과 OBJ를 만들 때 obj.prototypeName와 프로토 타입에 액세스 할 수 있습니다 'CT'의 새로운 사례들. 'Object.create (CT);는'CT' 자체를 프로토 타입으로하여 새로운 객체를 생성합니다. 'CT.prototype'을 프로토 타입으로 만들고 싶다면'Object.create (CT.prototype)'을 호출해야합니다. –
* "객체가 값을 얻기 위해 프로토 타입 체인을 트래버스하지 않는 경우"* 아니요. –