inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트 입문 - 기초부터 실전까지

자바스크립트 프로토타입의 활용 사례

Object 외에 다른 타입들의 prototype

316

seeksik1

작성한 질문수 1

1

안녕하세요, 캡틴판교님. 수강 중 궁금증이 생겨 질문 남깁니다. 제 생각이 맞는지 한번 확인해주시면 감사하겠습니다.

exam.~ 과 같은 형태는 객체의 형태와 같다고 생각합니다. 즉 우리가 흔히 쓰는 str.split(',')라던가 num.toString() 등이 모두 String 객체, Number 객체이지 않나 생각합니다.

만약 var str = "a,b"; 라고 한다면 사실은
class String(text) {
constructor(text) {
this.type = 'string';
this.__proto__ = ~~~
}
}
와 같은 형태였으며 "~"이라면 자동으로 String 객체를 리턴하는,,, 그런 느낌이지 않을까 생각해봅니다.

추가로 질문드리자면 위와 같은 형태가 맞다면 사실 toStirng이나 split 같은 내장 함수들은 String이나 Number 객체가 아닌 __proto__ 객체 안에 있다고 보는 것이 맞을 텐데 어떻게 str.__proto__.split(',')이 아닌 str.split(',') 만으로도 내장 함수를 실행 가능한지 궁금합니다.

typescript javascript es6

답변 1

0

캡틴판교

안녕하세요, 좋은 질문이네요. 질문하신 내용은 자바스크립트의 prototype chaining 관련 질문이네요. 자바스크립트는 기본적으로 속성과 메서드를 사용할 때 프로토타입 체인을 거슬러 올라가 Object에 도달합니다. 모든 원시 데이터 타입은 Object에서 파생되었어요. 그래서 str.split()을 해도 str.__proto__의 안에 있는 split() API를 참조합니다 :)

TSLint

0

67

1

vscode eslint server 오류

0

82

1

안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.

0

77

1

live server 설치 오류

1

377

2

강의 교안 pdf 는 따로 제공하지않나요?

0

287

2

npm i 설치 이유 문의

1

409

3

index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결

2

291

3

vue 에서 jquery 사용 문제

1

697

2

TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.

1

501

2

강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요

1

544

1

section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?

1

454

2

함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다

2

458

1

파일이 다른데 식별자가 중복되었다고 뜹니다.

1

445

2

빨간줄 에러 질문드립니다

1

489

2

마우스 갖다대면 리턴값 설명 나오는 거 질문드려요

1

358

2

js에서 @ts-check 적어도 체크하지 못하는 문제입니다

2

396

2

index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다

1

567

2

섹션 1-3 추론 질문드립니다

1

356

2

왜 api쪽에는 왜 에러가 안나는지 궁금합니다.

1

326

2

const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?

1

391

1

전화번호부 타입선언

1

267

2

타입을 전역으로 분리

1

594

2

객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?

1

460

1

Git 관련 질문이 있습니다

1

672

2