1. 변수
- 이름을 통해서 어떠한 값에 특별한 의미를 부여할 수 있음.
- 프로그래밍에서 추상화에 가장 기본적인 수단
1-1. var
- 변수 이름 중복 선언 가능(값의 재할당)
- 변수 선언 전에 사용 가능(호이스팅)
- 함수 스코프
1-2. let / const
- 변수 이름 중복선언 불가 (SyntacError 발생)
- 변수 선언 전에 사용 불가 (ReferenceError 발생)
- 블록 스코프
- const 키워드는 let 키워드와는 다르게 값을 재할당 할 수 없다.
2. 스코프
2-1. 함수 스코프(functiuon scope)
- var 키워드로 선언한 변수는 함수 스코프
- 함수를 기준으로 스코프를 구분. 함수 안에서 선언한 변수는 함수 안에서만 유효하게 된다.
- 함수를 제외한 for, if, while 등과 같은 문법 안에서 선언한 변수는 그 문법 밖에서도 계속 유효했었기 때문에, 중복선언 등의 문제가 발생한다.
2-2. 블록 스코프(block scope)
- let과 const 키워드로 선언한 변수는 블록 스코프
- 블록 스코프는 중괄호로 감싸진 코드 블록에 따라 유효 범위를 구분한다.
2-3. 스코프 정리
var x; //함수 스코프 (function scope)
let y; // 블록 스코프 (block scope), 코드블록
const z; //블록 스코프 (block scope), 코드블록
728x90
'코딩도 합니다 > JS' 카테고리의 다른 글
[자바스크립트 js] 파라미터 Parameter와 아규먼트 Argument 차이 / 파라미터의 기본값 (0) | 2021.05.23 |
---|---|
[자바스크립트 js] 함수 만들기 / 함수 선언 / 함수 표현식 / 파라미터(매개변수) / 아규먼트(전달인자) / 즉시 실행 함수 (0) | 2021.05.23 |
[자바스크립트 js] null 병합 연산자 (Nullish coalescing operator) (0) | 2021.05.20 |
[자바스크립트 js] AND와 OR의 연산 방식 (0) | 2021.05.18 |
[자바스크립트 js] Falsy 값과 Truthy 값 (0) | 2021.05.18 |