Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 Strict 모드란 무엇입니까?

<시간/>

엄격한 모드

엄격한 모드는 ECMAScript 5에서 javascript에 도입되었습니다. 엄격 모드 자바스크립트 자동 오류를 사용하면 오류가 발생하므로 쉽게 감지할 수 있습니다. 이렇게 하면 자바스크립트 디버깅이 훨씬 쉬워지고 개발자가 불필요한 실수를 피할 수 있습니다.

엄격 모드에서는 선언되지 않은 변수가 발생하면 예외가 발생하므로 메모리 누수가 크게 줄어듭니다. 엄격 모드가 필요한 코드 앞에 "use strict"를 사용하여 엄격 모드를 활성화할 수 있습니다.

다음 예제에서는 두 개의 변수가 사용되었습니다. 하나는 함수 외부에 있고 다른 하나는 함수 내부에 있습니다. 함수 외부에서 사용되는 변수는 선언하지 않은 반면, 함수 내부에서 선언된 변수는 var 키워드를 사용하여 선언합니다. 함수 내에서 엄격 모드를 사용하면 어떤 오류도 발생하지 않습니다. 동시에 변수가 선언되기 때문에 엄격 모드를 사용하지 않기 때문에 함수 외부의 변수에 값이 표시됩니다.

예시-1

<html>
<body>
<script>
   myString1 = "non-strict mode will allow undeclared variables"
   document.write(myString1);
   document.write("</br>");
   function myFun(){
      "use strict"
      var myString2 = "Strict mode will allow declared variables"
      document.write(myString2);
   }
   myFun();
</script>
</body>
</html>

출력
non-strict mode will allow undeclared variables
Strict mode will allow declared variables

다음 예에서는 함수 내부에 변수를 선언하지 않고 엄격 모드를 적용하고 있습니다. 따라서 해당 변수 내의 값이 실행되지 않고 오류가 발생합니다. 브라우저 콘솔에서 오류를 찾을 수 있습니다.

예시-2

<html>
<body>
<script>
   myString1 = "non-strict mode will allow undeclared variables"
   document.write(myString1);
   document.write("</br>");
   function myFun(){
      "use strict"
      myString2 = "Strict mode will allow declared variables"
      document.write(myString2);
   }
   myFun();
</script>
</body>
</html>

출력
non-strict mode will allow undeclared variables