JavaScript - 문제 미리보기

문제 627

hard
다음 코드들을 우선순위가 높은 것부터 낮은 것 순서로 나열한 것은? ```javascript // A. 객체 메서드 obj.method(); // B. bind() 사용 boundFunc = func.bind(obj); boundFunc(); // C. call() 사용 func.call(obj); // D. 전역 스코프에서 함수 호출 func(); ```
A. A → B → C → D
B. B → C → A → D
C. D → A → C → B
D. C → B → A → D

정답: B

JavaScript에서 `this`의 우선순위는 다음과 같습니다: 1) bind() (가장 높음) - `bind()`로 바인딩된 함수는 다른 방법으로 호출해도 바인딩된 객체를 유지 2) call()/apply() - 명시적으로 `this`를 지정하여 함수 호출 3) 객체 메서드 - 객체의 메서드로 호출될 때 해당 객체가 `this` 4) 전역 스코프 (가장 낮음) - 일반 함수 호출시 전역 객체 또는 undefined(strict mode) 따라서 B(bind) → C(call) → A(객체 메서드) → D(전역)이 올바른 우선순위입니다.

💡 학습 팁

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