말 그대로 더 엄격한 모드 ; 일반 모드에서는 보지 않았던 것들을 면밀히 살핀다
"use strict" 구문을 쓰면 된다// 전체 스크립트에 적용
"use strict"
let v = 1;
// 특정 함수에서만 적용
function strict() {
"use strict"
function func1 () {...}
}
ReferenceError 발생this는 전역 객체가 아니라 undefined임call(), apply()로 호출하면 각 메서드의 1번째 인자가 this의 값이 됨TypeError 발생// 확장 불가 객체에 새 프로퍼티 할당
var fixed = {};
Object.preventExtensions(fixed); // fixed를 확장 불가 객체로 만듦
fixed.newProp = "ohai"; // TypeError 발생
TypeError 발생SyntaxError 발생