"use strict"; 가 도대체 무엇이고, 이것이 의미하는 것은 무엇이며, 왜 필요한 것일까요?
Strict Mode는 ECMAScript 5버전에 있는 새로운 기능으로써, 프로그램 또는 함수를 엄격한 운용 컨텍스트 안에서 실행할 수 있게끔 합니다. 이 엄격한 콘텐스트는 몇가지 액션들을 실행할 수 없도록 하며, 좀 더 많은 예외를 발생시킵니다.
- 흔히 발생하는 코딩 실수를 잡아내서 예외를 발생시킵니다.
- 상대적으로 안전하지 않은 액션이 발생하는 것을 방지하거나 그럴때 예외를 발생시킵니다. 예를 들자면 전역객체들에 접근하려 한다거나 하는 것들입니다.
- 혼란스럽거나 제대로 고려되지 않은 기능들을 비활성화시킵니다.
이 strict mode는 파일 전체에 적용시킬 수도 있고, 아니면 특정한 함수 안에서만 적용시킬 수도 있습니다.
// Non-strict code (function() { "use strict"; // Define your lilbrary strictly... })(); // Non-strict code...
위와 같은 방식으로 한다면, 예전의 레거시 코드와 새 코드가 한 파일 안에 섞여 있을때 도움이 될 것입니다.
아마도 "use strict";는 Perl에서 온 것 같기도 합니다. 이것을 사용함으로써 오류가 발생할 수 있는 좀 더 많은 부분을 검사하여, 훨씬 더 적은 에러를 만들 수 있게 됩니다.
기존 자바스크립트 코드에 대해 좀 더 엄격한 검사를 실행시키고 싶다면 문서의 첫줄에 "use strict";를 추가하고, 기존의 것은 그대로 놔두고, 새로운 코드에 대해서만 추가하고 싶다면 각각의 함수 블록 처음에 추가해주는 것이 좋습니다.
'프로그래밍(TA, AA) > 자바스크립트' 카테고리의 다른 글
[Vue.js] 공식 가이드 문서 요약 (1) (0) | 2018.12.18 |
---|---|
[자바스크립트] 압축(Minify) / 난독화(Uglify) (1) | 2018.03.20 |
ECMAScript® 2015 Language Specification (0) | 2017.11.27 |
[자바스크립트] 알아두면 좋은 패턴 (0) | 2017.08.05 |
[자바스크립트] ExtJS MVC 아키텍처 (0) | 2017.08.04 |