본문 바로가기

📢 들어가기 전에

본 포스팅에선 모던 JavaScript 튜토리얼을 학습/복습한 내용을 다룬다.

😈 엄격모드란?

자바 스크립트는 기존 기능을 변경하지 않으면서 새로운 기능을 추가해왔기 때문에 호환성 문제가 없었다.

하지만 ES5부터 새로운 기능이 추가되고 기존 기능의 일부가 변경되었다.

기존 기능이 변경되어 호환성에 문제가 생기게 되었고, 이를 방지하기 위한 것이 엄격 모드(strict mode) 이다.

 

👉 엄격 모드를 쓰지 않으면 과거 스크립트와의 호환성을 유지할 수 있기 때문에 

지금의 문법과 맞지 않는 과거의 코드가 작동할 수 있게된다.

 

👉 엄격 모드를 활성화하면 모던 자바스크립트가 기준이 되어 과거에 짜 놓은 코드가 동작하지 않게될 수도 있다.

 

😈 엄격모드 사용 방법

스크립트 최상단에 단순한 문자열로 'use strict' 를 입력하면 엄격 모드를 활성화할 수 있다.

스크립트 최 상단이 아닌 함수 본문 맨 앞에 올 수도 있다.
함 수 본문 맨 앞에 위치할 시, 해당 함수만 엄격모드로 실행된다.
(일반적으로 'use strict' 는 스크립트 최상단에 선언된다.)

😈 엄격모드 사용 시 주의할 점

취소 불가

일단 엄격 모드가 적용되면 돌이킬 방법은 없다.
자바 스크립트 엔진을 이전 방식으로 되돌리는 'no use strict' 같은 지시자는 존재하지 않는다.

브라우저 콘솔

브라우저의 개발자 콘솔엔 'use strict' 가 적용되어 있지 않다.

브라우저 콘솔에서 'use strict'를 사용하고 싶다면 상단에 'use strict'를 입력하고 줄바꿈(shift + Enter)을 해주면 된다.

브라우저 콘솔창이 오래되어서 콘솔 창에 'use strict'를 입력하는 게 불가능 하다면, 아래와 같이 코드를 래퍼로 감싸면 된다.

(function() {
  'use strict';

  // ...테스트하려는 코드...
})()

😈 엄격모드를 꼭 사용해야하는가?

그렇지 않다.
클래스모듈을 사용하면 'use strict'가 자동으로 적용된다.

그렇지 않다면 'use strict'를 사용해주는 편이 좋다.

Seize the day!

Spring MVC | Spring Boot | Spring Security | Mysql | Oracle | PostgreSQL | Vue.js | Nuxt.js | React.js | TypeScript | JSP | Frontend | Backend | Full Stack | 자기계발 | 미라클 모닝 | 일상