본문 바로가기

Web/Javascript

__proto__ 와 construct 와 prototype

Javascript 클래스에서 상속에 관해 들어가기전에

앞의 4개의 포스팅에 관해 다시 한번 정리하고 넘어가겠다.

__proto__ 는

function A() {};

var B = new A();



에 관해

B.__proto__  == A.prototype
이것이 성립되고.

B.__proto__ == B.constructor.prototype
이 성립된다..

여기서 조금 이해가 안가시는 분은 다음을 보시면 된다.

B.__proto__.prototype == B.constructor.prototype.prototype
이렇게 된다.



다른건 다 두고서라도

이것에 관해 집고 넘어가겠다.

firefox 와 오페라 9.5(분명 비표준인데 이번에 __proto_ 속성을 추가했다.. 이 시대를 역행하는 오페라 -_-)__proto__ 속성이 있어 프로토 타입 체인을 __proto__ 속성으로 연결한다.

하지만 IE와 사파리에서는 __proto__ 속성이 없고 대신 constructor.prototype 로 __proto__ 를 대체한다.
prototype ECMA 에서 지정한 표준이다.

(IE는 표준을 지키지 않아서 말이 많은데 이건 잘 지키고 있구나..)

이것때문에 앞의 4개의 포스팅을 하면서 의아한 면이 있었는데

이번에 풀렸다..

도움을 주신 행복한 고니님께 감사의 말을.. 전합니다. (음홧홧홧)


그럼 다음은 상속에 관한 포스팅으로 넘어가자