인프런 자바스크립트 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
Strict Mode
Strict Mode는 자바스크립트의 문법을 엄격하게 확인하는 기능이다.
<기본 개념>
//Strict mode를 선언하지 않은 일반적인 경우[변수 선언]
x = 3.14;
console.log(x);
//결과 : 3.14
//에러발생 없이 x값을 콘솔창에 출력한다.
//자바스크립트의 초기 버전부터 허용된 문법적 허점의 사례이다.
//Strict mode를 선언할 경우[변수 선언]
"use strict";
x = 3.14;
console.log(x);
//결과 : 에러발생
//이처럼 Strict mode를 사용하면 자바스크립트의 초기 버전부터 허용된
//문법적 허점을 엄격하게 검사할 수 있다.
//Strict mode를 선언하지 않은 일반적인 경우[함수안에서 변수 선언]
function myFunction( ){
y = 2;
console.log(y);
}
myFunction( );
// 결과 : 2
//Strict mode를 선언할 경우[함수안에서 변수 선언]
"use strict";
function myFunction( ){
y = 2;
console.log(y);
}
myFunction( );
// 결과 : 에러발생
Strict Mode를 전체 script에 적용할 수도 있고, 특정 함수 안에서만 적용할 수도 있다.
<활용 예시>
//Strict Mode를 전체 script에 적용하는 경우
"use strict";
function myFunction( ){
y = 2;
console.log(y);
}
myFunction( );
// 결과 : 에러발생
//Strict Mode를 특정 함수안에서만 적용하는 경우
x = 3.14;
console.log(x);
function myFunction( ){
"use strict";
y = 2;
console.log(y);
}
myFunction( );
// 결과 : 3.14가 먼저 콘솔창에 출력된 후, 함수 코드가 실행되면서 에러가 발생한다.
댓글