스코프

»

스코프

변수 접근 규칙

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 파일 상단에 입력해놓으면 문법적으로 실수할 수 있는 부분들을 에러로 판단하게 됩니다