JavaScript - 문제 미리보기
문제 627
hard
다음 코드들을 우선순위가 높은 것부터 낮은 것 순서로 나열한 것은?
```javascript
// A. 객체 메서드
obj.method();
// B. bind() 사용
boundFunc = func.bind(obj);
boundFunc();
// C. call() 사용
func.call(obj);
// D. 전역 스코프에서 함수 호출
func();
```
정답: B
JavaScript에서 `this`의 우선순위는 다음과 같습니다:
1) bind() (가장 높음) - `bind()`로 바인딩된 함수는 다른 방법으로 호출해도 바인딩된 객체를 유지
2) call()/apply() - 명시적으로 `this`를 지정하여 함수 호출
3) 객체 메서드 - 객체의 메서드로 호출될 때 해당 객체가 `this`
4) 전역 스코프 (가장 낮음) - 일반 함수 호출시 전역 객체 또는 undefined(strict mode)
따라서 B(bind) → C(call) → A(객체 메서드) → D(전역)이 올바른 우선순위입니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.