inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코어 자바스크립트

Person 객체를 생성할 때 this사용법 문의

187

김소라

작성한 질문수 1

0

function Person(name, age) {

this.name= name;

this.age = age;

}

 Employee객체도 이런식으로 생성이 되어있는데 이 부분에서 궁금한 점이 있습니다.

this는 함수안에서 사용될 때는 window 혹은 global 객체를 가리키는 거라고 하셨는데 그럼 위 코드에선 this를 사용하나 사용하지 않으나 같은 상황이 아닐까, 어떤게 다른건가 궁금합니다.

this를 사용해도 window 객체를 가리키고 this를 사용하지 않아도 전역변수인거니까 결국은 같은 거 아닌가요..?

제가 어떤 걸 잘못이해하고 있는건지 알려주시면 감사하겠습니다.

javascript

답변 1

2

정재남

함수를 '생성자'로서 이용할 때엔 this가 해당 인스턴스를 가리키게 됩니다.

Person('a', 1);

이라고 실행했을 경우에는 전역객체의 name, age 프로퍼티에 각각 값이 할당되겠지만,

var jn = new Person('abc', 1);

이라고 실행할 경우에는 jn이라는 객체 (Person의 인스턴스)가 곧 this가 되어, 

jn 객체에 { name: 'abc', age: 1 } 이 담기게 됩니다.

인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유

0

59

1

setTimeout 에서 this

0

81

1

2강부터 영상이 나오지 않습니다.

0

175

1

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

221

2

return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.

1

259

1

클래스 static 멤버

1

253

1

실행컨텍스트와 스택프레임

2

567

1

프로토타입으로 상속할때 브릿지 사용 이유

0

320

1

호이스팅 관련 질문

1

335

1

책 66p. 예제 3-2 질문입니다.

0

356

1

강의 내용 10:58 캡슐화 질문입니다.

1

399

1

강의 내용 5:10 질문입니다.

1

422

2

전역 공간에서의 this

0

426

2

18:31 addEventListener의 this

1

480

1

outerEnvironmentReference 질문

1

372

1

실행 컨텍스트와 클로저에 대해 질문드립니다.

1

448

1

Object.prototype.constructor의 [[prototype]] ?

1

658

1

함수를 값으로 할당할 때

2

457

1

15:54 'ddd' 사라지는 오류?

4

375

1

프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.

1

405

1

기본형/가변형 질문입니당

0

334

0

선생님 그러면 섹션 0만 봐도 무방한가요!?

0

338

1

Hoisting과 environmentRecord에 관한 질문입니다.

1

293

1

안녕하세요, 데이터 변경 질문입니다.

0

329

1