
var : ES6이전까지 사용
let : ES6에서 새롭게 추가됨, 변수를 계속 변경 가능, 블록스코프 내에서만 유효
const : ES6에서 새롭게 추가됨, 변수를 한번 정의하면 변경할 수 없음, 블록스코프 내에서만 유효
함수의 내부에서 선언된 변수, 함수 내부에서만 변수를 참조할 수 있음
ES6에서 const, let이 추가되면서 지역 스코프가 함수 스코프와 블록스코프로 세분화됨
- 블록 스코프
- 함수의 중괄호 {} 내부의 영역을 유효 범위로 함
- 함수 스코프
- if else문, for문, while문 등 중괄호 내부의 영역을 유효 범위로 함
var number = 1 // 전역 스코프
function test() {
// {} 내부에 있는 변수들은 지역 스코프 임
const msg = "hello"; // 지역 스코프 중 함수 스코프
for (let i =0; i<5; i++) // 블록 스코프
{
console.log('hello')
}
}