엄격 모드(use strick)

MinCheol-Sin·2022년 6월 28일
2
post-thumbnail

22/06/28 학습내용 정리

엄격 모드란?

자바스크립트는 꽤 오랫동안 호환성 이슈 없이 발전해왔다. 그 이유는 자바스크립트의 버전 업데이트 방식 때문인데, 기존의 기능을 건들지 않은 채 새로운 기능을 추가하는 방식으로 진행해왔던 것이다.

덕분에 기존에 작성했던 코드가 망가지는 일은 절대 발생하지 않았다. 버전이 업데이트 되더라도 기존의 기능에는 변경점이 없으니까. 하지만 기존의 자바스크립트가 갖고 있던 불완전한 기능이나 체계 등을 고스란히 안고 가야하는 문제가 있었다.

하지만 2009년 ECMAScript5(ES5)가 등장하면서 기존 기능의 일부가 변경되었다. 그러면 기존의 코드에 호환성 문제가 발생할 수 있지 않은가? 그래서 변경사항의 대부분을 ES5의 기본 모드에서는 활성화되지 않도록 설계하였고, 대신 use stric이라는 특별한 지시자를 사용하여 이를 활성화 했을 때만 변경사항들이 적용되도록 하였다.

지시자 'use strick'

"use strick"을 스크립트 최상단에 놓으면 해당 스크립트 전체에 변경사항이 활성화된다.

<script>
"use strick"

let name;
...
...

</script>

"use strick"을 스크립트 최상단이 아닌 함수 앞에 놓을 수도 있다.
이 경우 해당 함수에만 엄격 모드가 적용된다.
하지만 대부분의 경우 use strick는 스크립트 최상단에 위치시킨다.


엄격모드를 사용하지 않는 경우

모던 자바스크립트는 '클래스’와 '모듈’이라 불리는 구조를 제공하는데, 이 둘을 사용하면 use strict(엄격 모드)가 자동으로 적용된다. 따라서 이 둘을 사용하고 있다면 스크립트에 "use strict"를 붙일 필요가 없다.

profile
천천히, 그러나 앞으로

0개의 댓글