JavaScript - 문제 미리보기

문제 595

hard
빈칸에 들어갈 올바른 키워드들은? ```javascript function Person(firstName, lastName) { ______.firstName = firstName; ______.lastName = lastName; } const john = ______ Person("John", "Doe"); console.log(john.firstName); // "John" 출력 ```
A. `this`, `this`, `call`
B. `this`, `this`, `new`
C. `self`, `self`, `new`
D. `window`, `window`, `new`

정답: B

생성자 함수에서는 다음과 같은 특별한 규칙이 적용됩니다: 1. 함수 내부의 `this`: 생성자 함수 내에서 `this`는 새로 생성될 객체를 가리킵니다. 따라서 `this.firstName`과 `this.lastName`으로 새 객체의 속성을 설정합니다. 2. `new` 키워드: 생성자 함수는 반드시 `new` 키워드와 함께 호출해야 합니다. `new Person("John", "Doe")`로 호출하면: 1) 새로운 빈 객체가 생성됩니다 2) 이 객체가 `this`로 설정됩니다 3) 함수가 실행되어 객체의 속성들이 설정됩니다 4) 새로 생성된 객체가 자동으로 반환됩니다 `new` 키워드 없이 일반 함수로 호출하면 `this`는 전역 객체(`window`)를 가리키게 되어 의도한 대로 작동하지 않습니다.

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.