인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

박종석님의 프로필 이미지
박종석

작성한 질문수

자바스크립트 비기너: 튼튼한 기본 만들기

1. Number 오브젝트 개요, 프로퍼티 리스트

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

작성

·

188

4

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

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

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

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

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

답변 3

1

박종석님의 프로필 이미지
박종석
질문자

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

답변 감사합니다 !!

0

김영보님의 프로필 이미지
김영보
지식공유자

맞습니다. 

0

김영보님의 프로필 이미지
김영보
지식공유자

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

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

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

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

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

박종석님의 프로필 이미지
박종석

작성한 질문수

질문하기