엄격 모드 (strict mode)

seongkyun·2020년 12월 7일
0

TIL - Javascript

목록 보기
16/28

기존 블로그에 작성한 내용을 velog로 이전한 글입니다


1. 엄격모드

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

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

    사용법 예시:

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

2. 오류 처리 항목

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

3. strict mode 적용에 의한 변화

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

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

    (function (a) {
      "use strict";
      // 매개변수에 전달된 인수를 재할당하여 변경
      a = 2;
    
      // 변경된 인수가 arguments 객체에 반영되지 않는다.
      console.log(arguments); // { 0: 1, length: 1 }
    })(1);

참고자료: poiemaweb.com

profile
FrontEnd Developer

관심 있을 만한 포스트

0개의 댓글