기존 블로그에 작성한 내용을 velog로 이전한 글입니다
엄격모드 : 자바스크립트 문법을 보다 엄격하게 적용하기 위해 쓰는 문법.
사용법 : 전역 선두 or 함수 선두에 'use strict';
를 추가한다.
사용법 예시:
"use strict";
function person() {
name = "Yu"; // ReferenceError: name is not defined
}
person();
일반 함수의 this : undefined가 바인딩 됨.
(function () {
"use strict";
function person() {
console.log(this); // undefined
}
person();
function Person() {
console.log(this); // Person
}
new Person();
})();
arguments 객체 : 매개변수를 재할당 해도 arguments 객체엔 미반영 됨.
(function (a) {
"use strict";
// 매개변수에 전달된 인수를 재할당하여 변경
a = 2;
// 변경된 인수가 arguments 객체에 반영되지 않는다.
console.log(arguments); // { 0: 1, length: 1 }
})(1);