더북(TheBook)

2.4.4 엄격 모드

코드 검사 도구를 사용하면 한 가지 이점이 더 있다. 사실 코드 검사 도구는 외부 도구라기보다는 자바스크립트 ECMAScript 5 명세에서 처음 도입한 자바스크립트 설정이다. 특정 스코프(전역 또는 함수 스코프)에 다음 코드를 넣으면 자바스크립트 해석기는 전혀 다른 방식으로 처리한다.

'use strict';

 

이 지시자가 있는 코드에서 개발자가 흔히 저지르는 실수를 범하면 자바스크립트 에러가 난다(예: 변수를 선언하기도 전에 사용, 읽기 전용 프로퍼티를 수정, 예약어로 변수를 명명 등).

엄격 모드를 지원하지 않는 자바스크립트 환경에서 실행하면 ‘use strict’ 문자열은 그냥 무시된다.7

엄격 모드의 중요한 차이점은 18장의 ‘기본 바인딩과 엄격 모드’ 절에서 예제와 함께 자세히 살펴본다. 아무튼 이 책은 습관적으로 예제 코드에 엄격 모드를 사용할 예정이다.

 

7 역주 크롬 콘솔 창에서 이 책의 예제 코드를 엄격 모드에서 실행하려면 (function() { ‘use strict’; ... })(); 즉시 실행 함수 표현식(IIFE)으로 감싸주어야 한다(아래 예제 참고).

(function() {
  'use strict';
  foo = 1.5;
})();
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.