홀리데이즈
1k
2017-09-17 10:32:27 작성 2017-09-17 10:37:03 수정됨
2
596

새로운 프로토타입에 함수를 추가하는 방법에 대한 질문입니다.


개발자 선배님들께 궁금한게 있습니다.


prototype 에 새로운 프로퍼티를 추가하는 부분에서 닷점 . 과 대괄호 [] 의 차이를 잘 모르겠습니다.


Function.prototype.method = function(name, func) {

    if( ! this.prototype[name])

        this.prototype[name] = func;

  }

}


부분에서요


prototype.method 라는 프로퍼티를 추가하는 작업입니다.


this.prototype.method = ... 는 정상적으로 작동되는데


왜 prototype[method] = ... 은 정상적으로 작동을 하지 않을까요?


반대로 prototype[name] 을 prototype.name으로 바꿔도


정상적으로 작동하지 안더군요


어떤 차이가 있는 건가요?

감사합니다.







0
  • 답변 2

  • asd
    16k
    2017-09-17 10:53:10

    객체에 프로퍼티에 접근하는 방법은 말씀하신대로 . 연산자와 [] 연산자가있는데요.

    []에는 문자열이 들어갑니다.


    var obj = {

      property: "hello"

    };

    var name = "property";

    console.log(obj.property);

    console.log(obj["property"]);

    console.log(obj[name]);


    이렇게 접근이 가능하죠. 글쓴분이 말씀하신 상황이랑 어떤차이가 있는지 한번 생각해보세요.

  • 홀리데이즈
    1k
    2017-09-17 11:05:35

    감사합니다 !

  • 로그인을 하시면 답변을 등록할 수 있습니다.