JavaScript (26) 썸네일형 리스트형 [JavaScript] 함수 스코프 & 블록 스코프 function scope var global = '전역' if(global === '전역') { var global = '지역' console.log(global) // '지역' } console.log(global) // '지역' if는 함수가 아니기 때문에 전역 공간까지 영향을 줍니다. block scope let global = '전역' if(global === '전역') { let global = '지역' console.log(global) // '지역' } console.log(global) // '전역' 블록 단위로 안전하게 지역 변수의 역할을 합니다. [JavaScript] var를 지양하자 TDZ(Temporal Dead Zone) 일시적 사각지대 - 스코프의 시작 ~ 초기화 시작 구간 JavaScript에서의 변수는 선언, 초기화, 할당이라는 3가지 단계를 거쳐 생성됩니다. var - 함수 스코프 - 선언과 초기화를 동시에 진행 - 메모리에 undefined를 할당하여 변수 선언 전에 undefined가 호출되는 호이스팅 발생 console.log(name) // undefined var name = '이름' - 재선언(중복선언) 가능 var name = '이름1' var name = '이름2' var name = '이름3' console.log(name) // 이름3 편하게 사용할 수 있지만 코드가 길어질수록 위험합니다. let, const - 블록 스코프 - 선언과 초기화 분리 - 호.. 이전 1 2 3 4 다음