엄격 모드 (strict mode)

Posted by Seongkyun Yu on 2020-03-05
Estimated Reading Time 1 Minutes
Words 141 In Total
Viewed Times

엄격모드

  • 엄격모드 : 자바스크립트 문법을 보다 엄격하게 적용하기 위해 쓰는 문법.

  • 사용법 : 전역 선두 or 함수 선두에 'use strict';를 추가한다.

    사용법 예시:

    1
    2
    3
    4
    5
    6
    "use strict";

    function person() {
    name = "Yu"; // ReferenceError: name is not defined
    }
    person();

오류 처리 항목

  • 암묵적 전역 : ReferenceError 발생
  • 변수, 함수, 매개변수의 삭제 : SyntaxError 발생
  • 매개변수 이름의 중복 : SyntaxError 발생
  • with 문의 사용 : SyntaxError 발생

strict mode 적용에 의한 변화

  • 일반 함수의 this : undefined가 바인딩 됨.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    (function () {
    "use strict";

    function person() {
    console.log(this); // undefined
    }
    person();

    function Person() {
    console.log(this); // Person
    }
    new Person();
    })();
  • arguments 객체 : 매개변수를 재할당 해도 arguments 객체엔 미반영 됨.

    1
    2
    3
    4
    5
    6
    7
    8
    (function (a) {
    "use strict";
    // 매개변수에 전달된 인수를 재할당하여 변경
    a = 2;

    // 변경된 인수가 arguments 객체에 반영되지 않는다.
    console.log(arguments); // { 0: 1, length: 1 }
    })(1);

참고자료: poiemaweb.com


If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !