ECMAScript 5 에서 소개된 Javascript의 strict mode는 기존에 무시되던 에러들을 콘솔에서 에러 메시지를 통해 문제를 알려준다.
예를 들어,
strict mode를 활성화하려면 코드의 최상단에 "use strict";를 추가하면 된다.
// 전체 스크립트 엄격 모드 구문
"use strict";
let v = "Hi! I'm a strict mode script!";
함수에 strict mode를 적용하기 위해, 함수 본문 처음에 다음의 구문을 넣는다.
"use strict";
function strict() {
// 함수-레벨 strict mode 문법
"use strict";
function nested() {
return "And so am I!";
}
return "Hi! I'm a strict mode function! " + nested();
}
function notStrict() {
return "I'm not strict.";
}
Strict mode는 문법과 런타임 동작을 모두 검사하여, 실수를 에러로 변환하고, 변수 사용을 단순화 시켜준다.
"use strict";
mistypedVaraible = 17; // ReferenceError를 발생시킴
"use strict";
var testObj = Object.defineProperties({}, {
prop1: {
value: 10,
writable: false
},
prop2: {
get: function () {
}
}
});
testObj.prop1 = 20; // TypeError 발생
testObj.prop2 = 30;