변수
var
- 함수 단위의 유효범위를 갖는 변수 선언문
- 사용하지 않는 것을 권한다.
let
const
- 블록 단위의 유효범위를 갖는 상수 선언문
- const는 변수의 재할당을 막는다
전역 변수
- 함수 외부에서 선언한 변수
- 스크립트 내 어디에서나 접근 가능
- 페이지가 로딩될 때 한번 생성하여 값이 유지
- 브라우저 환경에서sms window 객체의 속성으로 지정됨
- 사용하지 않는 것이 좋다
지역 변수
- 함수 내부에서 선언한 변수
- 해당 함수 내부에서만 접근 가능
- 함수가 호출될 때마다 새로 생성하여 값이 초기화
- 함수 내부에서 선언하지 않고 바로 사용하는 변수는 전역 변수로 동작
const num1 = 20; // 전역 변수
function max(n1, n2){ // 지역 변수
let result; // 지역 변수
if(n1 > n2){
result = n1;
}else{
result = n2;
}
return result;
}
console.log(max(10, num1)); // 20
console.log(max(200, num1)); // 200
변수 우선순위
- 가까운 곳부터 찾는다
- 지역 변수 영역에서 먼저 찾고, 없을 경우 전역 변수에서 찾는다
지역변수 유효 범위
- 자바스크립트에서의 var로 선언한 변수는 함수 단위의 유효범위를 갖는다
- let과 const는 블록 단위의 유효범위를 갖는다.