변수는 값을 담을 수 있는 공간을 뜻한다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능하다.
변수 선언
- var 변수명 = 데이터;
함수 전체에서 유효한 변수로 변수를 다시 선언해서 재할당이 가능하다. - let 변수명 = 데이터;
한 번만 선언하고, 선언한 내용을 계속 사용하려는 경우에 사용한다. - const 변수명 = 데이터;
상수형으로 고정적으로 데이터를 사용하려는 경우에 사용한다.
변수 작성법
- 숫자로 시작할 수 없다.
- 변수명 첫 글자에는 $, _, 영문자만 가능하다.
- 대소문자를 구분해야 한다.
<아래 내용은 권장사항> - 변수는 대문자가 아닌 소문자 명사형으로 시작한다.
- 변하지 않은 환경변수의 값은 대문자로 작성한다.
- 여러 단어의 조합으로 작성될 경우 낙타표기법(camelCase)을 사용한다.
- 이미 정의된 예약어는 사용이 불가능하다 (ex: var for = 데이터; 사용불가능)
객체에서의 변수 선언
객체에서 변수 선언을 할 때 let을 사용할 경우 기존의 객체를 새로운 객체로 생성할 수 있다. const같은 경우에는 기존의 객체가 다른 주소를 참조하는 것을 막기 때문에, 객체에 대한 불변성을 지키는 방법의 하나로 const를 사용할 수 있다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let obj1 = {
val1 : "abcd",
val2 : 23,
val3 : true
}
const obj2 = {
val1 : "b"
}
obj1 = obj2;
console.log(obj1); //{val1: 'b'}
obj2.val2 = "안녕";
console.log(obj2); //{val1: 'b', val2: '안녕'}
obj2 = obj1; // TypeError: Assignment to constant variable.
</script>
</body>
</html>
이처럼 let으로 선언된 객체의 경우에는 다른 객체의 주소를 참조할 수 있지만, const의 경우에는 다른 객체의 주소를 참조할 수 없다. 참고로 객체가 참조하는 주소만 변경이 안되는 것일 뿐, 객체의 속성은 변경이 가능하다.
'Frontend > JavaScript' 카테고리의 다른 글
JavaScript의 기초 문법 : 함수 (0) | 2024.07.22 |
---|---|
JavaScript의 기초 문법 : 제어문 - 반복문(while / for) (0) | 2024.07.19 |
JavaScript의 기초 문법 : 제어문 - 조건문 (if / switch-case) (0) | 2024.07.18 |
JavaScript의 기초 문법 : 연산자 (0) | 2024.07.16 |
JavaScript에서 사용자의 입력을 받아보자 (0) | 2024.07.15 |
JavaScript의 템플릿 리터럴이란? (0) | 2024.07.15 |
JavaScript의 기초 문법 : 타입 (0) | 2024.07.15 |
JavaScript : 정규표현식이란? (0) | 2024.07.01 |