자바스크립트 - 변수와 상수

정영찬·2022년 2월 4일
0

자바스크립트

목록 보기
4/21

변수(variable)

  • 데이터를 저장할 때 쓰이는 '사용자가 지정한 이름을 사용하는 저장소' 이다.
  • let 과 var 키워드를 사용해서 생성하고 상수와 달리 선언한 후에도 값을 변경할 수 있다.
let name; // undefined
let result = false;

상수(constant)

  • 변화하지 않는 값을 지니고 있는 변수. const 키워드를 이용해서 선언하며, 지니고 있는 값을 재할당 할 수 없다.
const sum = 5 + 10;

Const, let의 유효범위

  • 블록 스코프 - {}에 정의된 변수는 {}안에서만 유효하다.
//블럭
{
	//
    const name = "mark";
    consol.log(name)

}

	consol.log(name); //오류! name은 블럭 안에 정의되었으므로 밖에서 name 을 사용할 수 없다.
    
    
    //밖에서 안으로
    
    let age = 37;
    {
    	age++
        console.log(age);
    }
    
    console.log(age); //문제없이 출력됨.
    

var 의 유효 범위

  • 함수 스코프 - 정의된 함수 안에서만 유효하다
 var a = 0;

(function(){
    a++;
    console.log(a);
})();

console.log(a);

(function() {
    var b = 0;
    console.log(b);
})();

b++
console.log(b); // 오류 발생 b가 정의되지 않음

var c = 0;

{ 
    c++;
    console.log(c);
}


{
    var d = 0;
    console.log(d);
}

console.log(d); 

위의 경우 맨 마지막 줄의 console.log(d)는 오류가 발생하지 않고 제대로 출력이된다.
var는 함수 스코프만큼의 유효 범위를 가지고 있지만 위의 구문에선 {} 밖에 없고 함수가 정의되어있지 않은 상태이므로 {}안에서 정의를 해서 바깥에서 변수를 호출해도 오류가 발생하지 않는것!

정리

let, const => 블록안에서 정의된 경우, 그 블록 안에서만 유효하다
var => 블록이 몇개가 있던 함수 내부에 정의된 경우엔 그 함수 안에서 유효하다.

profile
개발자 꿈나무

0개의 댓글

관련 채용 정보