(1) Strict mode란
- 암묵적 전역이 발생하면 오류가 자주 일어나므로 키워드를 사용하지 않았을 때 에러를 발생시켜 주는 방법이다.
- 즉, 엄격하게 문법 검사를 하겠다 라고생각하면된다.
(2) Strict mode 선언
- 스크립트의 시작 혹은 함수의 시작 부분에 "use strict"를 선언하면 활성화가 된다.
'use strict'; // 스크립트 전체에 strict mode가 적용된다.
function foo() {
x = 10; // error x의 키워드를 작성하지않았다.
}
foo();
function foo() {
'use strict'; // 함수 몸체의 선두에 추가하면 해당 함수와 중첩된 내부 함수에 strict mode가 적용된다.
x = 10; // error x의 키워드를 작성하지않았다.
}
foo();
"use strict";
a = "wangi"; // error a의 키워드를 작성하지않았다.
(3) Strict mode가 발생시키는 에러
- 암묵적 전역변수
- 변수, 함수, 매개변수의 삭제
- 매개변수의 이름 중복
- with문 사용
- 일반 함수의 this
function () {
'use strict';
x = 1;
console.log(x); // error x의 키워드를 작성하지 않았다.
}()
function () {
'use strict';
function foo(x, x) { // error 매개변수 이름 중복
return x + x;
}
console.log(foo(1, 2));
}()
'JavaScript' 카테고리의 다른 글
[JavaScript] 실행 컨텍스트(Execute Context) (0) | 2023.10.17 |
---|---|
[JavaScript] this (1) | 2023.10.17 |
[JavaScript] 스코프(Scope) (0) | 2023.10.16 |
[JavaScript] 프로토타입 (0) | 2023.10.13 |
[JavaScript] 함수 (1) | 2023.10.12 |