ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • prototype
    WEB/Javascript 2013. 9. 16. 03:14
    반응형

    6. prototype.



     

     1. 프로토타입은 엄밀히 말하면 Function객체에 자동으로 부여되는 속성으로 Object가 할당되어있다.

     2. 함수는 new 키워드를 이용해 heap에 인스턴스를 생성할 때 어떤 타입인지를 구별하는 일종의 동적 타입 마커 기능을 수행한다.

     3. 일단 new를 통해 만들어진 인스턴스는 함수의 인스턴스가 아니라 Object의 인스턴스다.

     4. 하지만 new에 지정되었던 함수를 마커로 하여 같은 클래스 타입처럼 실행시점에 구분할 수 있다.

     5. new를 통해 생성된 인스턴스의 key-value를 뒤져 없는 속성을 찾으려고 시도하면 자바스크립트엔진은 자동으로 new생성시 지정된 함수의 prototype의 key-value를 찾는다.

     6. 만약 prototype에서 해당 이름의 함수를 발견하면 this에 그 인스턴스를 자동으로 바인딩 해준다.


    출처 : http://js.bsidesoft.com/object1


    위에서 잘 정의해주셨기에 퍼왔습니다.


    제가 이해한 간단한 요놈의 특징은 

    (1) 프로토타입의 속성으로 선언된 메서드는 새로운 객체에서 새로이 생기지 않고 1군데의 메모리만을 바라본다는점..

    (2) 컨텍스트 바인딩을 위한 장치. 

    정도 입니다. 


    아래는 또다른 컨텍스트 바인딩 장치인 apply 메서드를 테스트 해본 것입니다. 


    var a = new Object();

    fn.apply( a );

    fn 에서 this 는 a 다. 


    fn.prototype.showMe = function(){ console.log( this ) } // fn 이 나온다. 


    반응형

    'WEB > Javascript' 카테고리의 다른 글

    20140331 자바스크립트, Ajax  (0) 2014.03.31
    Requirjs 와 jquery 설치 방법 (+i18n)  (0) 2013.10.19
    정규식 사용방법  (0) 2013.09.25
Designed by Tistory.