[JS] 자료형(type), 스코프(scope)
원시 자료형과 참조 자료형
- 원시 자료형 string, number, bigint, boolean, undefined, symbol, (null)
- 원시 자료형이 할당될 떄에는 변수에 value 자체가 담기고,
참조 자료형이 할당될 때는 보관함의 주소(reference)가 담긴다.
- 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있다.
스코프(Scope)
- 어떤 변수들에 접근할 수 있는지를 정의
- 변수와 그 값이, 어디서부터 어디까지 유효한지를 판단하는 범위
- JavaScript는 기본적으로, 함수가 선언되는 동시에 자신만의 Scope를 가진다.
Local Scope, Global Scope
- Scope는 중첩이 가능
- 전역 변수는 어디서든 접근이 가능
- 지역 변수는 함수 내에서 전역 변수보다 더 높은 우선순위를 가진다.
Function Scope, Block Scope
- 함수 내부에서 변수를 선언한다면, 그 변수는 선언한 함수 내부에서 사용이 가능
- {} 내부에서 변수를 선언한다면, 그 변수들은 중괄호 블록 내부에서만 사용이 가능