JavaScript의 엄격 모드에 대한 모든 것

엄격 모드 란 무엇입니까?


  • 엄격한 모드는 es5에 도입된 기능으로 보다 엄격한 운영 컨텍스트에서 JavaScript 코드를 실행하는 데 도움이 됩니다.
  • 그것은 당신의 코드가 더 엄격하게 검사된다는 것을 의미합니다.

  • 엄격 모드의 이점은 무엇입니까?


  • 엄격 모드의 두 가지 주요 용도는
  • JavaScript 엔진에서 과거에 조용히 무시했던 오류를 발생시킵니다. 이것은 보다 안전한 코드를 작성하는 데 도움이 됩니다.
  • JavaScript 엔진이 최적화를 수행하기 어렵게 만드는 특정 문제/실수를 수정합니다. 이렇게 하면 성능이 향상되고 엄격 모드에 있는 코드가 엄격하지 않은 모드에 있는 동일한 코드보다 빠르게 실행할 수 있습니다.

  • 엄격 모드를 사용하는 방법?


  • Strict 모드는 함수 또는 전체 스크립트에 사용할 수 있습니다.
  • 엄격 모드를 활성화하려면 함수나 스크립트의 시작 부분에 문자열 "use strict" 또는 'use strict'를 사용하십시오.
  • 다음은 엄격 모드를 사용하는 예제 코드입니다.
  • 함수에 엄격 모드 사용

  • function myFunction() {
      "use strict"; // This enables strict mode only inside this function
    }
    


  • 전체 스크립트에 엄격 모드 사용

  • "use strict"; // This enables strict mode for this entire script
    
    // Rest of the code here ...
    
    


    엄격 모드에서 오류로 이어지는 일반적인 실수


  • 다음은 엄격하지 않은 모드가 아닌 엄격 모드에서 오류를 일으키는 몇 가지 일반적인 실수입니다.

  • 변수나 객체를 선언하기 전에 사용하기




    // In non strict mode
    
    myVariable = 15;
    console.log(myVariable); // This prints 15
    



    "use strict"; // In strict mode
    
    myVariable = 15;
    console.log(myVariable); // This gives a ReferenceError
    


    변수 이름 지정에 예약어 사용




    // In non strict mode
    
    var let = 15; // let is a reserved keyword in JavaScript
    console.log(let); // This prints 15
    



    "use strict"; // In strict mode
    
    var let = 15;
    console.log(let); // This gives a SyntaxError
    


    함수의 여러 매개변수에 동일한 이름 사용




    // In non strict mode
    
    function myFunction(param1, param1) {
      console.log(param1, param1); // This gives a weird output of peter peter
    }
    
    myFunction("bob", "peter");
    



    "use strict"; // In strict mode
    
    function myFunction(param1, param1) {
      console.log(param1, param1); // This gives a SyntaxError
    }
    
    myFunction("bob", "peter");
    


  • 위의 예는 몇 가지 예일 뿐이며 엄격 모드에서 오류가 발생하는 다른 많은 경우가 있습니다. 그러한 사례를 더 알고 싶다면 MDN docs
  • 를 방문하십시오.

    Strict 모드는 훌륭합니다. 기본적으로 사용하지 않는 이유는 무엇입니까?


  • 예 엄격 모드는 es6 모듈 및 클래스를 사용할 때, webpack 또는 babel 등과 같은 도구를 사용할 때 기본적으로 활성화됩니다.

  • 결론


  • 최신 JavaScript를 사용하는 경우 엄격 모드가 기본적으로 켜져 있으므로 크게 생각할 필요가 없습니다.
  • 이 기사가 엄격 모드에 대한 통찰력을 제공했으면 합니다.
  • 좋은 웹페이지 즐겨찾기