자바스크립트는 ECMAScript5(ES5)가 등장하기 전인 2009년 까지 기존의 기능을 변경하지 않으면서 새로운 기능이 추가되면서 발전해왔다.
장점 : 기존에 작성한 코드는 절대 망가지지 않는다
단점 : 결점도 계속 된다.
ES5에서는 새로운 기능이 추가되고 기존 기능 중 일부가 변경됐다. 기존 기능을 변경하였기 때문에 하위 호환성 문제가 생겨 변경사항 대부분을 ES5의 기본 모드에선 활성화되지 않도록 했다.
use strict
라는 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때만 변경사항이 활성화되게 해놓았다.
use strict
라는 지시자가 스크립트 최상단에 오면 스크립트 전체가 모드가 활성화 된다.
물론 스크립트 최상단이 아닌 함수 본문 맨 앞에 올 수도 있어 해당 함수만 엄격 모드로 실행된다.
브라우저 콘솔을 사용하는 경우 use strict
가 적용되어있지 않다.
'use strict'; <Shift+Enter를 눌러 줄 바꿈 함>
// ...테스트하려는 코드 입력
<Enter를 눌러 실행>
'use strict’
를 입력한 후 Shift
+Enter
키를 눌러 줄 바꿈 해 원하는 스크립트를 입력하면 된다.
(function() {
'use strict';
// ...테스트하려는 코드...
})()
use strict
를 적용하는 가장 확실한 방법은 코드를 래퍼로 감싸면 된다.
모던 자바스크립트에서는 '클래스’와 '모듈’이라는 구조를 제공하는데 이 둘을 사용하면 use strict
가 자동으로 적용된다.