inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

안녕하세요 Object 라는 개념을 정리해보았는데 혹시 제가 옮바르게 이해하고 있는 걸까요 ?

130

박종석

작성한 질문수 6

0

JS의 Objcet 종류

1. 네이티브 오브젝트

2. 호스트 오브젝트

+ Host Object는 JS 가 사용되는 환경 (호스트) 에 따라 호스트가 제공 하는 Object는 다르며 이때 제공 되는 Host Object는 JS라는 언어로써 사용 될 수 있는 형태로 제공된다.

자바스크립트의 사용 (브라우저)

EX )

  1. JS 언어를 사용하여 특정 호스트 환경 (브라우저, 서버, Etc... ) 에서 작업 수행
  2. 특정 호스트 환경은 사용되는 플랫폼에 따라 해당 플랫폼에서 사용 할 수 있는 Host Object 를 제공 (JS 환경에서 사용 가능 한 형태 )
  3. 제공 되는 Host Object 의 요소를 가지고 (브라우저, 서버) 와 같은 현재 호스트(플랫폼)의 요소, 기술 등을 사용하여 제어 한다. (사용자에게 이벤트 띄우기, 사용자의 입력 값 받기, Etc.. )
  4. Host Object 를 사용하여 받은 자료를 JS 라는 언어를 통해 입력받은 문자열 파싱 등과 같이 다른 추가적인 프로그래밍적 처리를 하게 된다. 

Object의 생성

var newObj = new Number(123); 

위의 코드가 실행 될 경우 다음과 같은 과정을 통해 생성 된다.

  1. Number Object 가 가지고 있는 Number.prototype.constructor 라는 생성자를 호출
  2.  Number.prototype  객체의 요소가 담긴 메모리의 주소를 newObj 의 __proto__ 라는 프로퍼티의 값으로 참조한다.
  3. 또한 newObj.__proto__.__proto__ 의 값 으로써 Object.prototype의 6개의 매소드도 참조 된다.

+ 인스턴스의 매소드를 호출 할 경우 해당 오브젝트의 __proto__ 프로퍼티의 참조 객체에서 호출 매소드를 찾게 되며 없을 경우 하위의 __proto__ 에서 다시 찾는 과정을 반복하게 된다.

+ __proto__ 와 prototype의 차이

 prototype 은 빌트인  Object 에 정의 되어있는 객체(프로퍼티의 집합)이다. 또한 prototype이 정의 되어있는 Object는 인스턴스의 생성이 가능하다.

__proto__ 는 인스턴스가 생성 될 때 Object prototype 객체의 주소를 연결시켜주는 프로퍼티이다. 이로써 생성한 인스턴스는 __proto__를 참조하여 해당 인스턴스 타입에 해당하는 Object의 매소드를 사용할 수 있게 된다.

위와 같이 객체에 대한 강의를 들으면서 강사님이 설명해 주신 내용을 이해 했는데 혹시 제가 잘못 이해한 부분이 있을 까요 ?

그동안 C언어를 통해 공부하다 새롭게 자바스크립트를 공부하고 있는데 정말 흥미롭네요 강사님 덕에 흥미를 느낄 수 있었던거 같습니다 감사합니다.

oop javascript

답변 1

0

김영보

정리가 잘 되었습니다. 짝짝. 뉘앙스 차이가 조금 있지만 크게 영향을 미치지 않으며 계속 이렇게 정리하면서 가면 미미한 뉘앙스까지 정리될 것 같습니다. 좋습니다. 계속 이렇게 정리하면서 나아가세요.

프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!

2

109

2

섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.

1

149

2

섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.

0

140

2

섹션 1. 6번째 강의 질문입니다.

1

247

1

선생님 Objcet 질문 있습니다.

0

299

2

forEach문을 활용한 코딩시간 풀이

0

617

1

sort 코딩 시간 풀이

0

292

1

코딩 시간 풀이 올려봅니다.

0

229

1

인덱스 코딩시간 문제풀이

0

382

1

for문 코딩 시간 답제출

0

307

1

3:39 sort에 들어가서 one,two 파라미터질문입니다.

0

194

0

퀴즈 질문 및 정답

0

356

1

오브젝트

0

283

1

인스턴스 목적

1

239

1

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

0

269

1

Undefined === Null; // true???

0

194

1

indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.

0

1031

5

length 값 변환 논리에 대한 질문입니다.

0

211

1

상수 변수 선언에 대해

0

235

1

코딩 시간 (for문) 풀이

0

255

1

Object vs object

1

501

1

코딩 시간 풀이입니다.

0

197

1

log(add(1, 2, 3, 4));

0

180

1

코딩시간 답 제출

0

198

1