Achievement Goals
- 스코프의 의미와 적용 범위를 이해할 수 있다
스코프의 주요 규칙을 이해할 수 있다
- 중첩 규칙
- block scope와 function scope
- block scope는 {} 형태 예를 들어 조건문 반복문...
- function scope는 함수
- 전역 스코프와 지역 스코프
- 안쪽 Scope 에서 정의된 변수는 바깥에서 이용할 수 없다 예를 들어 함수 내에 변수는 바깥에서 호출할 경우 오류 걸림
전역 변수와 지역 변수간의 우선 순위
- Hello, kimcoding!
VM2912:8 Hello Josh
let name = '김코딩'
undefined
function showName(){
let name = '박해커';
console.log(name)
}
console.log(name);
showName();
console.log(name); - VM3230:9 김코딩. 전역
VM3230:4 박해커 지역
VM3230:11 김코딩 전역
undefined- let, const, var 의 차이
- let 은 블록스코프의 영향을 받기 때문에 중복 선인 및 할당을 가능하게 한다.
- const 변하지 않는 상수를 정의 할 때 사용
- var 은 블록스코프를 무시한 채 출력이 가능
- 전역 객체(window)의 이해
- 가장 최상위 객체 window.foo === foo 값은 true
- let, const, var 의 차이
예시를 통해 전역 변수 이해하기
set 함수에 x를 빼면 지역변수 x는 전역변수 x 에 영향을 미친다. 결과는 10
이에 반해 set 함수 x에 변수 선언이 된다면 이거는 전역 변수 x와 지역 변수 x는 다르기 때문에 값이 30 그대로 출력된다.
스코프를 찾는 방법
햇갈리는 예제
1.만약에 지역변수 x 에 선언된게 없다면 부모 스코프로 옮겨라
2. 지역변수 x는 let x 가 선언되어있다고 생각 그래서 return x는 매개변수로 생각하자!!
'코드스테이츠' 카테고리의 다른 글
코드스테이츠 spread & ...args (0) | 2021.08.05 |
---|---|
코드스테이츠 closure 사용 && 캡슐화의 이해 (0) | 2021.08.04 |
코드스테이츠 원시타입 || 참조형 타입 이해 (0) | 2021.08.04 |
코드스테이츠 목업 (0) | 2021.08.04 |
코드스테이츠 중급 (0) | 2021.08.03 |