스코프
May 28, 2021
»
스코프
변수 접근 규칙
let a = 'im here';
if(a) {
let hey = `Hey!!!!, ${a}`;
console.log(hey); // 'Hey!!!!, im here'
}
console.log(hey); // ReferenceError
첫번째 콘솔은 hey 가 안쪽 스코프에 있어서 가능하지만
두번째 콘솔은 hey 가 바깥쪽 스코프에는 없어서 에러가 뜹니다
전역 스코프
가장 바깥에 있는 스코프는 전역 스코프(global scope) 라고 부릅니다
지역 스코프
전역 스코프가 아닌 다른 스코프는 모드 지역 스코프(local scope) 입니다
전역 변수보다 더 높은 우선순위를 가집니다
블록 스코프(block scope)
중괄호를 기준으로 범위가 구분됩니다
if(true) {
console.log('here!!');
}
// !주의할 점 화살표 함수는 블록 스코프입니다
let testSample = tester => {
return sample.test;
}
함수 스코프(function scope)
함수로 둘러싼 범위가 구분됩니다
function userName(user) {
return user.name;
}
let testSample = function(tester) {
return sample.test;
}
window 객체
브라우저 창을 대표하는 객체이며
브라우저 창과 관계없이 전역 항목도 담고 있습니다.
Strict Mode
'use strict' 를 js 파일 상단에 입력해놓으면 문법적으로 실수할 수 있는 부분들을 에러로 판단하게 됩니다