개발/Javascript

Strict Mode

치돈포에버 2022. 6. 6. 17:41

*복습 자료라서 뻔한 내용은 생략

 

 

Summary.

 

1. "Restricted Variant of Javascript code" (since ECMAScript 5)

    + silent error -> throw error

    + Javascript Engine이 내부적으로 실행을 최적화할 수 있는 코드

    + 이후 버전에서 사용될 feature 사용을 금지

    + Strict Mode 준수 안하는 코드와 병기 가능. 서서히 Strict Mode Code로 바꿔갈 수 있게끔

 

2. Entire Script 혹은 Function 단위로 적용 가능 (ES 2015부터는 Block 단위로도 가능 + Module/Class는 자동으로 strict mode)

// Whole-script strict mode syntax
'use strict';
var v = "Hi! I'm a strict mode script!";
// Function strict mode syntax
function strict() {
  // Function-level strict mode syntax
  'use strict';
  function nested() { return 'And so am I!'; }
  return "Hi!  I'm a strict mode function!  " + nested();
}

 

Additional.

1. strict mode 지원 안해주는 브라우저에서는 항상 동작 테스팅해볼 것

 

2. strict mode 를 실제로 지원하는 방식이 브라우저마다 다소 상이한 점 유념

 

3. 어떤 Error를 점검해주는지, 보안사항 점검해주는지, 등, 사이트 참고할 것 (어차피 자동으로 점검해주니까 굳이 볼 필요없음)

 

Reference.