스코프

»

스코프

변수 접근 규칙

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;
}

let, var, const 비교

window 객체

브라우저 창을 대표하는 객체이며

브라우저 창과 관계없이 전역 항목도 담고 있습니다.

Strict Mode

'use strict' 를 js 파일 상단에 입력해놓으면 문법적으로 실수할 수 있는 부분들을 에러로 판단하게 됩니다