use strinct
지시자를 사용하면, ECMAScript5(ES5) 이후 추가된 새로운 기능과 변경사항이 활성화 된다.
자바스크립트는 다양한 브라우저에서 작동해야 하기 때문에 기존의 기능을 변경하지 않고 새로운 기능을 추가하며 호환성
을 유지해왔다.
덕분에 옛날에 작성된 코드를 지금도 사용할 수 있다는 장점이 있지만, 업데이트 전 코드의 결함
이 그대로 박제된다는 단점이 있다.
ES5
이후에는 새로운 기능을 추가하면서 기존 기능 일부를 변경했기 때문에 하위 호환성 문제
가 발생할 수 있다.
따라서 느슨한 모드(sloppy mode)를 기본으로 하되, use strict
지시자를 사용한 엄격 모드(strict mode)에서만 변경사항이 활성화되게 했다.
Class
와 Module
을 사용한다면, 자동으로 use strict
가 적용 된다.리액트
등 프레임워크는 기본적으로 strict mode로 동작한다.Reference
https://ko.javascript.info/strict-mode
https://poiemaweb.com/js-strict-mode
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode