엄격모드
엄격모드 : 자바스크립트 문법을 보다 엄격하게 적용하기 위해 쓰는 문법.
사용법 : 전역 선두 or 함수 선두에
'use strict';
를 추가한다.사용법 예시:
1
2
3
4
5
6;
function person() {
name = "Yu"; // ReferenceError: name is not defined
}
person();
오류 처리 항목
- 암묵적 전역 : ReferenceError 발생
- 변수, 함수, 매개변수의 삭제 : SyntaxError 발생
- 매개변수 이름의 중복 : SyntaxError 발생
- with 문의 사용 : SyntaxError 발생
strict mode 적용에 의한 변화
일반 함수의 this : undefined가 바인딩 됨.
1
2
3
4
5
6
7
8
9
10
11
12
13(function () {
;
function person() {
console.log(this); // undefined
}
person();
function Person() {
console.log(this); // Person
}
new Person();
})();arguments 객체 : 매개변수를 재할당 해도 arguments 객체엔 미반영 됨.
1
2
3
4
5
6
7
8(function (a) {
;
// 매개변수에 전달된 인수를 재할당하여 변경
a = 2;
// 변경된 인수가 arguments 객체에 반영되지 않는다.
console.log(arguments); // { 0: 1, length: 1 }
})(1);
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !