패스잇
프론트엔드 개발 · 기초

JavaScript의 엄격 모드(strict mode)란 무엇이며, 어떤 변화가 있나요?

힌트 · 묵시적 전역 변수, this 바인딩, 예약어 사용 등의 변화를 생각해보세요.

선언되지 않은 변수전역 객체this 바인딩arguments 객체보안 강화

모범답안

엄격 모드는 JavaScript 코드에 대한 일종의 "제한 모드"라고 생각하시면 됩니다. use strict라는 지시어를 사용해서 활성화할 수 있습니다.

엄격 모드를 사용하면 몇 가지 중요한 변화가 생깁니다. 가장 눈에 띄는 것은 선언되지 않은 변수를 사용하려고 하면 에러가 발생한다는 점입니다. 실수로 전역 변수를 만드는 것을 방지해줍니다.

또, this 바인딩 방식도 달라집니다. 일반 모드에서는 함수가 전역 객체에 바인딩될 수 있지만, 엄격 모드에서는 undefined가 됩니다.

arguments 객체에 대한 변경도 있고, 몇몇 예약어 사용에 제한이 생기는 등, 전반적으로 코드를 더 안전하고 예측 가능하게 만들어줍니다. 보안을 강화하고 잠재적인 오류를 줄이는 데 도움이 되죠.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 JavaScript 면접 질문

← JavaScript 면접 질문 전체 보기