본문 바로가기
개발언어/JavaScript

[javaScript] Strict mode 엄격 모드란?

by 코딩 시그널 2021. 12. 2.
반응형

ECMAScript 5에서 처음으로 소개된 strict 모드는 자바스크립트 코드에 더욱 엄격한 오류 검사를 적용해 주는 기능을 합니다.

 

엄격 모드를 가동하면,

  1. 기존에는 조용히 무시되던 에러들을 throwing 합니다.
  2. JavaScript 엔진의 최적화 작업을 어렵게 만드는 실수들을 바로잡습니다. 가끔씩 엄격 모드의 코드는 비-엄격 모드의 동일한 코드보다 더 빨리 작동하도록 만들어집니다.
  3. 엄격 모드는 ECMAScript의 차기 버전들에서 정의될 문법을 금지합니다.

 

엄격 모드 적용 방법

엄격 모드를 가동하려면 javascript 소스 맨 위에 "use strict"라는 코드를 작성하면 됩니다.

엄격 모드는 전체 스크립트 또는 부분 함수에 적용 가능합니다. 단, {} 괄호로 묶인 블록 문, 컨텍스트와 같은 곳에 적용 시 동작하지 않습니다. 

 

"use strict";

// 이 코드는 모던한 방식으로 실행됩니다.
...

 

※ 단! use strict는 반드시 최상단에서만 선언해야 합니다.

그렇지 않으면 엄격 모드가 활성화되지 않을 수도 있습니다. "use strict"의 위에는 주석만 사용할 수 있습니다.

 

alert("use strict 테스트");
// 하단에 위치한 "use strict"는 스크립트 상단에 위치하지 않으므로 무시됩니다.

"use strict";
// 엄격 모드가 활성화되지 않습니다.

 

콘솔에서 엄격 모드 사용하기

브라우저의 콘솔을 사용하는 경우 콘솔에서 use strict가 기본 설정이 아닙니다. 콘솔에서 use strict을 사용하고 싶다면, "use strict"를 친 뒤에 Shift+Enter 키를 눌러 줄 바꿈을 한 후에 원하는 스크립트를 작성하면 됩니다.

 

'use strict'; <Shift+Enter를 눌러 줄 바꿈>

//  ...테스트하려는 코드 작성

 

엄격 모드가 자동 구동되는 경우

자바스크립트의 클래스와 모듈을 사용하면 따로 엄격 모드를 설정하지 않아도 엄격 모드로 동작합니다.

댓글