잠재적 오류를 발생시키기 어려운 개발 환경을 위해 ES5부터 strict mode가 추가되었다.
strict mode는 자바스크립트 문법을 더 엄격하게 적용하여 문제를 일으킬 수 있는 코드에 대해 명시적 에러를 발생시킨다.
전역의 선두 또는 함수 몸체의 선두에 'use strict';
를 추가한다.
strict mode를 적용시켰을 때 발생하는 대표적 에러이다.
선언하지 않은 변수를 참조할 경우 ReferenceError를 발생시킨다.
'use strict';
x = 1;
console.log(x); // ReferenceError : x is not defined
delete
연산자로 삭제 시 SyntaxError가 발생한다.
함수를 일반 함수로 호출 시 this
에는 undefined
가 바인딩된다.