Strict Mode 정리

지환·2024년 6월 16일
0

자바스크립트

목록 보기
22/30

암묵적 전역

  • use strict 모드를 반영하지 않을 경우

  • 일반적인 자바스크립트 작동 방식이다. (암묵적 전역 현상)

function foo(){
	x = 10;
}

foo();

console.log(x); // 10


1. foo 함수가 실행된다.

2. foo 함수 내부에서 x를 선언한 것은 없기 때문에 스코프 체인에 의해 변수 x 검색

3. 전역 스코프 까지 왔지만 x는 존재하지 않는다. 

4. 전역 스코프까지와 왔지만, x는 존재하지 않는다. -> 자바스크립트 엔진은 암묵적으로 전역 객체에 x 프로퍼티를 동적 생성한다.

5. 생성된 전역 객체에 x 프로퍼티에 10을 할당

6. foo 함수의 실행이 끝나고, console 에 암묵적으로 생성된 x를 참조하여 10이 출력된다.

strict mode

  • 자바스크립트 언어의 문법을 좀 더 엄격히 적용하여 오류를 발생시킬 가능성이 높거나, 자바스크립트 엔진의 최적화 작업에 문제를 일으킬 수 있는 코드에 대해 명시적인 에러를 발생시킨다.

strict mode 적용

// 전역에 strict mode 선언
'use strict'
...
function foo() {
	// 함수 몸체 선두에 strict mode 선언
  'use strict'
	...
}
    
profile
아는만큼보인다.

0개의 댓글