• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

프로퍼티 리스트 관련하여 질문 드려요 !

20.09.23 15:31 작성 조회수 115

4

안녕하세요 강의를 수강하면서 제가 이해한 것이 맞는지 질문 드려요 !

Number, String  등과 같이 Javascript 에서는 빌트인 된 기본적인 객체를 재공한다.

EX ) var userNum = new Number("123");

위와 같이 제공 되는 기본적인 객체를 사용하여 생성한 인스턴스는 생성하게 될 때 객체의 프로토 타입을 복사하여 생성한다.

해당 프로토 타입은 함수와 프로퍼티로 구성되어 있으며 예를 들어 toString 이라는 프로퍼티의 키 값으로 접근 하면 해당 키 값과 대응되는 함수가 동작을 하게되여 파라미터를 넘겨주게 되면 인스턴스의 프리미티브 벨류인 값을 함수가 문자열로 변환 하여 반환한다. 라고 정리를 하였는데 옳바르게 정리한 것 일까요 ? ㅎㅎ

답변 3

·

답변을 작성해보세요.

1

박종석님의 프로필

박종석

질문자

2020.09.23

아하 그러면 인스턴스는 prototype 의 메모리 주소 (C의 포인터 개념) 를 저장하며  저장 된 메모리의 주소를 참조하는 형태로 메모리를 아끼면서 prototype에 있는 프로퍼티 or 매서드를 사용한다고 보면 되는 건가요 ?

답변 감사합니다 !!

0

맞습니다. 

0

전체적으로 이해를 하셨고, 의미 전달이 됩니다.
이렇게 논리적으로 접근하면 튼튼하게 기본이 만들어 집니다.
아래 작성한 함수와 메소드 차이만 정리하면 되겠습니다. 

Number, String  등과 같이 Javascript 에서는 빌트인 된 기본적인 객체를 재공한다. 
==> 맞습니다.

위와 같이 제공 되는 기본적인 객체를 사용하여 생성한 인스턴스는 생성하게 될 때 객체의 프로토 타입을 복사하여 생성한다.
==> 맞습니다. 지금은 복사라고 해도 되지만, 조금 지난 후에는 참조할 수 있는 환경을 만든다로 이해해 주세요.
그 많은 것을 복사하면 메모리가 모자라므로 prototype이 있는 메모리 주소를 참조할 수 있도록 만듭니다.

해당 프로토 타입은 함수와 프로퍼티로 구성되어 있으며 
==> 해당 프로타입(prototype)은 메소드와 프로퍼티로 구성되어 있으며 ::: prototype에 연결된 function을 강좌에서는 메소드라고 하며, prototype에 연결되지 않은 function을 함수라고 합니다.

예를 들어 toString 이라는 프로퍼티의 키 값으로 접근 하면 해당 키 값과 대응되는 함수가 동작을 하게되여 파라미터를 넘겨주게 되면 인스턴스의 프리미티브 벨류인 값을 함수가 문자열로 변환 하여 반환한다.
==> 내용이 조금 어려울 수도 있는데, 정확하게 이해하셨네요.^^
==> 
키 값과 대응되는 함수가 동작을 하게되여 ::: 키 값이 function이므로 메소드(함수)로 동작하게 되며