: 주고받기를 하는 과정에서 사용되는 데이터를 일시적을 보존하는 곳
: 변수의 이름을 JavaScript에 등록하고 값을 넣어두기 위한 영역을 메모리상에 확보하는 것
var 명령
var 변수명 [= 초깃값], .... ;
var msg; // 기본적인 선언
var x, y; // 복수의 변수를 선언
var msg = '안녕하세요, JavaScript!'; // 초깃값을 설정
하지만 JavaScript에서 변수 선언은 필수가 아니다. 명시적으로 변수가 선언되지 않아도 처음 값이 대입되는 타이밍에 암묵적으로 선언된다.
msg = '안녕하세요, JavaScript!';
console.log(msg);
➕ 변수를 선언하는 다른 구문 let 명령
let msg; // 기본적인 선언
let x, y; // 복수의 변수를 선언
let msg = '안녕하세요, JavaScript!'; // 초깃값을 설정
◼ var 명령과의 차이점
✔ 변수의 중복을 허가하지 않는다.
: let 명령은 동일한 명칭의 변수를 허가하지 않는다.
: var 명령은 중복을 허가 한다.
No. | 규칙 | 예시 |
---|---|---|
1 | 첫 번째 문자는 영문자/언더스코어(_)/달러표시($) 중 하나여야만 한다. | _name,$msg |
2 | 두 번째 문자 이후에는 첫 번째에서 사용할 수 있는 문자 또는 숫자이어야 한다. | msg1, _name0 |
3 | 변수명에 포함된 영문자의 대문자/소문자는 구별되어야한다. | name,Name |
4 | JavaScript에서 의미를 갖는 예약어가 아니어야 한다. | for, if ❌ |
5 | 앞으로 예약어로 채택될 가능성이 있는 키워드는 피해야 한다. | enum, await |
6 | JavaScript에서 이미 정의된 객체나 그 멤버명은 피해야 한다. | String, eval |
◼ 식별자의 주요 기술 방법
기술 방법 | 개요 | 예시 |
---|---|---|
camelCase 기법 | 앞 단어 첫 문자는 소문자, 그 이후의 단어의 첫 문자는 대문자 | lastName |
Pascal 기법 | 모든 단어의 첫 문자는 대문자 | LastName |
언더스코어 기법 | 모든 단어의 첫 문자는 소문자, 단어 간의 '_'로 연결 | last_name, LAST_NAME |
변수명이나 함수명 ➡ camelCase 기법
상수명 ➡ 언더스코어 기법
클래스(생성자명) ➡ Pascal 기법
◼ 명명시 주의 할점
1) 이름으로부터 데이터의 내용을 유추하기 쉬울 것 (예) name, title ⭕
2) 너무 길거나 또는 짧지 않을 것 (예) keyword ⭕
3) 보기에 혼동하기 쉽지 않아야 할 것 (예) name/Name ❌
4) 미리 정해진 기술 방법으로 통일 되게 기술 할 것 (예) lastName/firt_name ❌
5) 영단어로 할 것 (예) name, weather ⭕
: 코드 안에 나타나는 의미 있는 값을 미리 선언
: 상수인 것을 식별하기 쉽게 모든 문자는 대문자로, 단어를 언더스코어로 구분
const 상수명 = 값
◼ 상수는 다시 대입할 수 없는 변수이며 반드시 변경 할 수 없는 의미는 아니다.
✔ 데이터 형이 기본형일 때
const TAX = 1.08;
TAX = 1.1; //오류
✔ 데이터 형이 참조형일 때
const date = [1, 2, 3];
data = [4, 5, 6]; //오류 ①
data[1] = 10; // 동작 ②
① 배열 자체를 재대입하고 있기 때문에 = 참조 자체를 교체하고 있다
② 배열은 그대로고 그 내용물만 교체 = 참조는 그대로 내용물만 변경
➡ 일반적인 코딩에서 상수의 대부분이 기본형이기 때문에 상수는 변경할 수 없는 값으로 취급