자바스크립트는 1995년도에 처음 등장해서 2022년까지 27년동안 사용된 오래된 언어입니다. 긴 역사만큼 수많은 문법과 구문들이 자바스크립트에 등장했고, 그 중에서는 현재 사용하면 안정성 혹은 효율을 떨어뜨리는 구문도 존재합니다. 이런 구문들을 피하려면 왜 이 구문이 문제였고, 어떤 방식으로 피할지에 대해 알아야하는데, 이 구문들이 점차 늘어나다 보니 개발자들에게 이들을 일일히 알아두기란 부담으로 다가오기 시작했습니다.
그래서 자바스크립트는 Strict mode(엄격 모드)
를 지원하기 시작해서 이러한 구문들을 자바스크립트 측에서 발견하여 알려주고, 개발자는 따로 알아두지 않아도 되도록 만들었습니다.
Strict mode
는 개발자에게 편의성을 제공하는 모드입니다. 현재 버전에서 사용이 금지된, 지양되는 구문들을 찾아서 개발자들에게 경고를 띄우는 역할을 합니다.
Strict mode
의 반대말로는 Sloppy mode(느슨한 모드)
가 있습니다. 엄격 모드와 느슨한 모드 코드는 하나의 스크립트에서 공존할 수 있기에 필요에 따라 두 모드를 왕래하며 사용하게 됩니다.
Strict mode
는 스크립트 전체에 적용하는 방법과 함수 블록 내부에만 적용하는 방식 두 가지가 있습니다.
'use Strict';
//스크립트 전체에 Strict 모드 적용
스크립트 전체에 Strict mode
를 적용하기 위해서는 스크립트 최상단에 use Strict
문자열을 작성해주면됩니다.
function foo() {
'use Strict';
//함수 내부에서 Strict 모드 적용
}
함수 내에서만 Strict mode
를 적용하고자 할 때는 함수 블록 최상단에 use Strict
문자열을 작성합니다.
Strict mode
가 구체적으로 어떤 구문들을 제한하고 있는지 알아보겠습니다.