7월 1일 목요일 TIL (2)

김병훈·2021년 7월 1일
0

til

목록 보기
29/89

scope란

js에서 스코프는 범위의 의미를 가지고 있다. 더 자세하게는 유효범위로 사용된다.
Scope의 종류 와 각 선언 키워드 let const를 어떻게 사용하고 무엇을 권장하는지 알아야한다.

Achievement Goals

  • 스코프의 의미와 적용 범위를 알아야한다.
  • 스코프의 주요 규칙을 알아야한다.
    • 중첩 규칙
    • block scopefunction scope
    • 전역 스코프지역 스코프
    • 전역 변수지역 변수 간의 우선순위
    • let , const, var 의 차이
    • 전역객체(window) 의 이해

변수 접근 규칙

변수에 접근할 수 있는 범위가 존재한다. 중괄호(블록) 안 쪽에 변수가 선언되었는지, 바깥쪽에 선언되었는지가 중요하다. 이 범위를 스코프라고 부른다.

스코프의 정확한 정의는 "변수 접근 규칙에 따른 유효범위"이다

  • 범위는 중괄호(블록) 또는 함수에 의해 나누어진다.
  • 규칙
    • 첫번째 => 안쪽 스코프에서 바깥쪽 스코프로는 접근할 수 있지만, 안쪽에서 선언한 변수는 바깥쪽 스코프에서는 사용할 수 없다.
    • 두번째 => 스코프는 중첩이 가능하다.
    • 세번째 => 가장 바깥의 스코프는 전역스코프(Global scope) <=> 전역이 아닌 다른 스코프는 모두 지역 스코프(Local scope) 이다.
    • 지역 변수는 전역 변수보다 더 높은 우선순위를 가진다.
let name = '김코딩'; // 전역 변수
function showName(){
	let name = '박해커'; // 지역 변수
}

==> 지역 스코프에서 선언한 변수는 지역 변수이고, 전역 스코프에서 선언한 변수는 전역 변수이다.
그래서 지역 변수는 전역 변수보다 더 높은 우선순위를 가진다.

높은 우선순위란?

let name = '김코딩'; // 전역 변수
function showName(){
	let name = '박해커'; // 지역 변수
  	console.log(name);// 두번째 출력
}
console.log(name);// 첫번째 출력
showName();
console.log(name);// 세번째 출력
profile
블록체인 개발자의 꿈을 위하여

0개의 댓글