[JS] 엄격모드

이의섭·2021년 12월 24일
0


ES5, ES6 이란 단어를 보신적 있으신가요. ES란 ECMAScript로 쉽게말하면 자바스크립트의 버전이라고 생각하시면 되겠습니다.

버전의 변경

자바스크립트는 꽤 오랫동안 화환성 이슈 없이 발전해왔습니다. 기존의 기능을 변경하지 않으면서 새로운 기능이 추가되었다고 합니다. 덕분에 기존의 코드들이 망가지지 않는다는 장점이 있었습니다.

하지만 ES5가 등장하면서 새로운 기능이 추가되고 기존 기능 중 일부가 변경되기 시작했습니다. 때문에 낮은 버전과 새로운 버전에서 작성된 코드의 결과가 달라지는 호환성 문제가 생기게 되었습니다.

// [비엄격모드]
console.log(this) // window
// [엄격모드]
console.log(this) // undefined
// 둘이 결과가 다름

때문에 "use strict" 라는 특별한 지시자를 통해서만 ES5 버전이 활성화되게 해 놓았습니다.

위치

스크립트 최상단에 혹은 함수 본문 맨 앞에 위치시켜야 작동된다고 합니다.

모듈, 클래스

모듈이나 클래스를 사용해 코드를 작성한다면 자동적으로 "use strict"활성화 된다고 합니다. 이는 최신 자바스크립트의 새로운 기능이기 때문인가 봅니다.

profile
사용자 중심 생각하는 프론트엔드 개발자가 되고 싶은..

0개의 댓글