하초 2021. 9. 18. 20:16

변수와 상수는 둘 다 데이터를 담는 그릇이다. 

둘 사이의 차이점은 데이터 할당 이후에 데이터를 변경할 수 있는가 없는가 차이이다. 

 

변수는 처음 할당해놓은 값을 수차례 변경 가능하고 마지막에 넣은 값이 최종값으로 유지된다.

 

let age = 10; 
age = 20; 
age = 30;

 

반면 상수는 경우 값을 변경할 수 없다. 

상수를 다른 값으로 변경하려고 하면 오류가 발생한다.  

 

const age = 10; 
age = 20; // 오류

 

주의할 점이 있다면, 상수에 객체를 할당할 때이다.

상수에 객체를 할당하게 되면, 상수가 영향을 끼치는 범위가 객체 바깥 쪽에만 해당하게 된다. 

따라서 상수에 담겨있는 객체 자체를 다른 객체나 값으로 변경하려고 할 때에만 오류가 발생하게 되고,

객체 내부의 속성들의 값은 상수 여부에 상관없이 변경이 가능하다. 

 

const obj = {
    height: 300,
    width: 200,
}

obj.height = 500;		// 변경 가능 
obj.width = 700;		// 변경 가능 
	
obj = {};			// 오류

 

변수와 상수 중에서 어떤 걸 주로 사용해야할까? 

상수를 많이 쓰는 것을 권장한다. 

프로그래밍을 하면서 값을 변화시키는 경우는 생각보다 많지 않다. 

값이 변할 수 있다는 것은 불안정성이 높다는 뜻이다. 

그러므로 값이 최대한 변하지 않는 구조로 프로그래밍을 하는 습관을 갖는 것이 중요하다.