오늘은 C언어로 변수와 자료형을 배웠다.
하지만 정리는 따로 JavaScript 로 정리하겠다.
변수는 데이터를 저장하고 관리하기 위한 메커니즘으로, 값의 변경이 가능한 저장 공간이다.
JavaScript에서는
var,let,const키워드를 사용하여 변수를 선언할 수 있다.
var는 예전부터 사용된 변수 선언 방식으로, 함수 스코프를 가진다.
하지만 블록 스코프를 지원하지 않아 예기치 않은 동작을 초래할 수 있다.
var x = 10;
if (true) {
var x = 20;
console.log(x); // 20
}
console.log(x); // 20 (블록 스코프를 가지지 않음)
let은 블록 스코프를 가지며, 같은 스코프 내에서 중복 선언이 불가능하다.
이를 통해 var보다 더 안정적인 코드 작성을 할 수 있다.
let y = 10;
if (true) {
let y = 20;
console.log(y); // 20
}
console.log(y); // 10 (블록 스코프 유지)
const는 변하지 않는(immutable) 값을 선언할 때 사용된다.
선언과 동시에 초기화해야 하며, 이후 값의 재할당이 불가능하다.
const z = 30;
z = 40; // TypeError: Assignment to constant variable.
하지만 const로 선언된 객체나 배열의 내부 값은 변경할 수 있다.
const obj = { name: "Alice" };
obj.name = "Bob";
console.log(obj.name); // "Bob" (객체 내부 값 변경 가능)
이처럼 const는 변수 자체의 재할당을 방지할 뿐,
객체 내부의 속성 변경까지 막지는 않는다.
따라서 불변성을 유지하고 싶다면 Object.freeze()를 사용할 수 있다.
const obj2 = Object.freeze({ name: "Charlie" });
obj2.name = "David"; // 변경되지 않음
console.log(obj2.name); // "Charlie"
오늘은 C언어로 변수와 상수에 대해 알아봤지만
따로 JavaScript 로 정리를 하면서 기본을 다지는 시간이라고 생각한다.