use strict
이 지시자가 스크립트 최상단에 오면 스크립트 전체가 “모던한” 방식으로 동작한다.
예시:
"use strict";
// 이 코드는 모던한 방식으로 실행됩니다.
...
"use strict"
는 스크립트 최상단이 아닌 함수 본문 맨 앞에 올 수도 있다. 이렇게 하면 오직 해당 함수만 엄격 모드로 실행된다.
✅ "use strict"는 반드시 최상단에 위치시키세요.
"use strict"는 스크립트 최상단에 있지 않으면 엄격 모드가 활성화되지 않을 수도 있다.
다음 코드에서는 엄격 모드가 활성화되지 않는다.
alert("some code");
// 하단에 위치한 "use strict"는 스크립트 상단에 위치하지 않으므로 무시됩니다.
"use strict";
// 엄격 모드가 활성화되지 않습니다
✅ 자바스크립트 엔진을 이전 방식으로 되돌리는 "no use strict"같은 지시자는 존재하지 않는다.
일단 엄격 모드가 적용되면 돌이킬 방법은 없습니다.
브라우저 콘솔
'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가 자동으로 적용되어 이 둘을 사용하고 있다면 스크립트에 "use strict"를 붙일 필요가 없다.
엄격 모드와 비 엄격 모드 두 모드에서 차이를 보이는 기능이 많지 않지만 엄격 모드를 사용하면 개발자의 삶의 질이 조금 더 높아진다는 점이 있다.
참고자료 : 엄격 모드
'Developer > JavaScript 튜토리얼 번역공부' 카테고리의 다른 글
2.5 자료형 (0) | 2021.05.22 |
---|---|
2.4 변수와 상수 (0) | 2020.08.06 |
2.2 코드 구조 (0) | 2020.08.04 |
2.1 Hello, world! (0) | 2020.08.04 |
1.4 개발자 콘솔 (0) | 2020.08.04 |