[JavaScript] use strict, 엄격 모드

Sieun Dorothy Lee·2023년 12월 11일
0

자바스크립트 코드를 검색해보다 보면, "use strict"라는 문구가 앞단에 적힌 코드를 종종 만난다.
"use strict"란 무엇일까?

번역하자면 "엄격 모드"가 되는 이 문장은 ES5에서 기존 기능 중 변경된 사항이 활성화되도록 하는 문구이다.

그럼 이 문구가 굳이 왜 필요할까?
ES5 이전의 자바스크립트는 기존의 기능을 변경하지 않으면서 새로운 기능이 추가되어 왔기 때문에 호환성 이슈 없이 발전해왔고 이는 기존에 작성한 코드가 항상 동작한다는 장점이 있지만, 과거의 실수나 불완전한 결정이 언어 안에서 영원히 박제된다는 단점도 있었다.
ES5에서는 기존 기능을 일부 변경하도록 업데이트가 되었고, 이는 호환성을 유지하기 위하여 기본 모드일 때는 활성화되지 않고, 엄격 모드일 때만 활성화되도록 되어 있다.

use strict 사용의 규칙

  • "use strict"는 코드의 최상단에 위치하거나 함수의 최상단에 위치한다
    (함수의 최상단에 위치하면, 해당 함수만 엄격 모드가 활성화됨)
  • 엄격모드 적용을 되돌릴 수 있는 방법은 없다
  • 브라우저 콘솔은 기본적으로 엄격 모드가 적용되어 있지 않다
  • 클래스와 모듈을 사용하면 use strict가 자동으로 적용된다 (따로 명시할 필요가 없다)

use strict 사용 시 차이점

변수 할당

use strict 사용 시, 변수 선언 없이 할당할 수 없다.

num = 2;
alert(num); // 2
"use strict";
num = 2;
alert(num); // error: num is not defined

+) 추가 예정...

참고

https://ko.javascript.info/

profile
성장하는 중!

0개의 댓글