surf core js : 엄격 모드

Dino_·2021년 7월 20일
0

surf javascript

목록 보기
1/28
post-thumbnail

use strict 탄생 배경


자바스크립트는 꽤 오랫동안 호환성 이슈 없이 기존의 기능을 변경하지 않으면서 새로운 기능이 추가됐다.

ECMAScript5(ES5)가 등장하기 전인 2009년까지에 한해서 말이다.

새롭게 제정된 ES5에서는 새로운 기능이 추가되고 기존 기능 중 일부가 변경되었다.

이로 인해, 기존 기능을 변경하여 하위 호환성 문제가 생길 수 있기 때문에 변경사항 대부분은 ES5의 기본 모드에선 활성화되지 않도록 설계되어 있다.

대신 use strict라는 특별한 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때만 이 변경사항이 활성화되게 해놓았다.

use strict 선언

use strict 선언은 항상 스크립트 혹은 함수 본문의 최상단에 작성되어 있어야 한다.

"use strict"
...

//or

function test() {
  "use strict"
  ...
}

브라우저 콘솔은 적용되어있지 않다.

브라우저 콘솔을 사용하는 경우, 기본적으로 use strict가 적용되어있지 않는다는 점에 주의해야 한다.

엄격 모드를 브라우저 콘솔에 적용하는 방법은 'use strict’를 입력한 후, Shift+Enter키를 눌러 줄 바꿈 해 원하는 스크립트를 입력하면 된다.

'use strict'; <Shift+Enter를 눌러 줄 바꿈 함>
//  ...테스트하려는 코드 입력
<Enter를 눌러 실행>

이 기능은 Firefox와 Chrome 같은 유명한 브라우저에서 대부분 사용 가능하다.

브라우저가 오래 되어서 콘솔 창에 use strict를 입력하는 게 불가능하다면, use strict를 적용하는 가장 확실한 방법은 아래와 같이 코드를 래퍼로 감싸면 된다.

(function() {
  'use strict';

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

use strict 자동 적용

모던 자바스크립트는 '클래스’와 '모듈’이라 불리는 구조를 제공한다.
이 둘을 사용하면 use strict가 자동으로 적용된다.

Reference

profile
호기심 많은 청년

0개의 댓글