본문 바로가기
JavaScript

[JavaScript] Strict mode

by eddypark 2023. 10. 16.

(1) Strict mode란

- 암묵적 전역이 발생하면 오류가 자주 일어나므로 키워드를 사용하지 않았을 때 에러를 발생시켜 주는 방법이다.

- 즉, 엄격하게 문법 검사를 하겠다 라고생각하면된다.

(2) Strict mode 선언

- 스크립트의 시작 혹은 함수의 시작 부분에 "use strict"를 선언하면 활성화가 된다.

'use strict';     // 스크립트 전체에 strict mode가 적용된다.
function foo() {
    x = 10;       // error x의 키워드를 작성하지않았다.
}
foo();
 
function foo() {
    'use strict'; // 함수 몸체의 선두에 추가하면 해당 함수와 중첩된 내부 함수에 strict mode가 적용된다.
    x = 10;       // error x의 키워드를 작성하지않았다.
}
foo();

"use strict";
a = "wangi";      // error a의 키워드를 작성하지않았다.

(3) Strict mode가 발생시키는 에러

- 암묵적 전역변수

- 변수, 함수, 매개변수의 삭제

- 매개변수의 이름 중복

- with문 사용

- 일반 함수의 this

function () {
  'use strict';

  x = 1;
  console.log(x);           // error x의 키워드를 작성하지 않았다.
}()

function () {
  'use strict';

  function foo(x, x) {      // error 매개변수 이름 중복
    return x + x;
  }
  console.log(foo(1, 2));
}()

'JavaScript' 카테고리의 다른 글

[JavaScript] 실행 컨텍스트(Execute Context)  (0) 2023.10.17
[JavaScript] this  (1) 2023.10.17
[JavaScript] 스코프(Scope)  (0) 2023.10.16
[JavaScript] 프로토타입  (0) 2023.10.13
[JavaScript] 함수  (1) 2023.10.12