inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

3. Global과 Window 관계

아래 질문글을 보고 정리해보았는데 제대로 정리한것인지 궁금합니다

해결된 질문

191

흙먹는아기

작성한 질문수 1

1

아래 질문글을 보고 저도 정리해보고 싶어 스스로 정리해 보았는데 맞게 정리했는지 문의드립니다

******

var f1 = function(){};
// function 표현식. function 오브젝트를 f1에할당
// ( 빌트인 Function 오브젝트로 만든 인스턴스인 function 오브젝트 )
console.log(Object.prototype.toString.call(f1));
// Global오브젝트가 호스트한 Window오브젝트안에 있는 Object.prototype.toString에 연결.
// 그후 call메소드로 Object.prototype.toString에 f1을 넘겨줌

// toString은 인스턴스'타입'을 '문자열'로 "표시"하므로
// [object Function] 반환

var f2 = new f1;
// f1 function 오브젝트(인스턴스)에서 f1.prototype안에있는 내용을
// constructor를 이용하여 인스턴스를 생성해 f2.__proto__에 할당

console.log(Object.prototype.toString.call(f2));
// 위와 마찬가지로 진행.하지만 f2는 f1의 인스턴스
// f2.__proto__의 타입은 Object이므로
// ( 강좌에서 설명해주신대로 빌트인 오브젝트안을까보면 거의 Object형태의
//  __proto__가 들어있으므로... 안들어가있는 것도 있다 )
// [object Object] 반환

var s1 = String;
// String 오브젝트를 s1에 할당
var s2 = new s1;
// s1 인스턴스를 생성하여 s2에 할당
console.log(Object.prototype.toString.call(s1));
// 위와 마찬가지로 진행. s1은 function 타입 이므로
// 즉, [object Function] 반환

console.log(Object.prototype.toString.call(s2));
// 위와 마찬가지로 진행. s1에서 String인스턴스를 생성하여 s2에 할당
// 즉, [object String] 반환

******

추신) 행복하게 강의 잘듣고있습니다.  좋은강의 만들어주셔서 감사합니다

oop javascript

답변 2

2

흙먹는아기

상세한 설명 감사드립니다. 진도를 나가면서 정리 하도록 하겠습니다

2

김영보

var f1 = function(){};
// function 표현식. function 오브젝트를 f1에할당
// ( 빌트인 Function 오브젝트로 만든 인스턴스인 function 오브젝트 )
==> 맞습니다. 다음부터는 주석을 코드 앞에 작성하세요. 주선 먼저 작성
----------------------

console.log(Object.prototype.toString.call(f1));
// Global 오브젝트가 호스트한 Window 오브젝트안에 있는 Object.prototype.toString에 연결.
==> 이 문장은 완전하지 않습니다. Global 오브젝트와 Window 오브젝트를 염두에 두고 정리하기 바랍니다. Host 오브젝트 개념 정리도 필요합니다.
// 그후 call메소드로 Object.prototype.toString에 f1을 넘겨줌
// toString은 인스턴스'타입'을 '문자열'로 "표시"하므로 [object Function] 반환
==> 맞습니다.
----------------------

var f2 = new f1;
// f1 function 오브젝트(인스턴스)에서 f1.prototype안에있는 내용을
// constructor를 이용하여 인스턴스를 생성해 f2.__proto__에 할당
==> 의미적으로 맞습니다. new f1보다는 new f1() 형태가 일반적인 형태입니다.
f1.prototype안에있는 내용을 ==> f1.prototype에 연결된 메소드와 프로퍼티를
----------------------

console.log(Object.prototype.toString.call(f2));
// 위와 마찬가지로 진행.하지만 f2는 f1의 인스턴스
// f2.__proto__의 타입은 Object이므로
// ( 강좌에서 설명해주신대로 빌트인 오브젝트안을까보면 거의 Object형태의
//  __proto__가 들어있으므로... 안들어가있는 것도 있다 )
// [object Object] 반환
==> 전체적으로 구성과 의미를 이해하고 있으며 맞습니다.
"거의 Object형태의 __proto__가 들어있으므로" ==> 이 문장이 갖는 의미를 공부하면서 하나씩 완전하게 정리하기 바랍니다.
----------------------

전체적으로 기능과 구조와 개념을 이해하는 것으로 생각됩니다.
조금 더 정리할 것이 있지만, 여기서 더 파고 들면 진도가 나가지 않아 지겨우며, 이 단계에서 완전하게 정리할 수도 없으므로 여기의 구조와 개념을 염두에 두고 진도를 나가면서 정리하기 바랍니다.

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

2

109

2

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

1

148

2

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

0

140

2

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

1

247

1

선생님 Objcet 질문 있습니다.

0

299

2

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

0

616

1

sort 코딩 시간 풀이

0

292

1

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

0

229

1

인덱스 코딩시간 문제풀이

0

381

1

for문 코딩 시간 답제출

0

306

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

499

1

코딩 시간 풀이입니다.

0

195

1

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

0

179

1

코딩시간 답 제출

0

196

1