JavaScript - 문제 미리보기
문제 595
hard
빈칸에 들어갈 올바른 키워드들은?
```javascript
function Person(firstName, lastName) {
______.firstName = firstName;
______.lastName = lastName;
}
const john = ______ Person("John", "Doe");
console.log(john.firstName); // "John" 출력
```
정답: B
생성자 함수에서는 다음과 같은 특별한 규칙이 적용됩니다:
1. 함수 내부의 `this`: 생성자 함수 내에서 `this`는 새로 생성될 객체를 가리킵니다. 따라서 `this.firstName`과 `this.lastName`으로 새 객체의 속성을 설정합니다.
2. `new` 키워드: 생성자 함수는 반드시 `new` 키워드와 함께 호출해야 합니다. `new Person("John", "Doe")`로 호출하면:
1) 새로운 빈 객체가 생성됩니다
2) 이 객체가 `this`로 설정됩니다
3) 함수가 실행되어 객체의 속성들이 설정됩니다
4) 새로 생성된 객체가 자동으로 반환됩니다
`new` 키워드 없이 일반 함수로 호출하면 `this`는 전역 객체(`window`)를 가리키게 되어 의도한 대로 작동하지 않습니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.