JS
데이터를 담는 그릇! 변수
개발자doc
2024. 4. 16. 09:00
목차
1. 변수란?
2. 변수 예약어
3. 변수 선언 문법
4.변수 생성시 주의사항
1. 변수란?
- 변수는 데이터를 담는 공간
변수는 프로그래밍에서 아주 중요한 요소 중 하나다. 데이터를 담아 필요할 때 호출하기도 하고 데이터를 원하는 형태로 가공하여 사용하는 등 다양한 이유로 변수를 사용한다. 자바스크립트를 배울 때 개념을 확실하게 잡고가는 것이 좋다.
2. 변수 예약어
var | 재선언과 재할당이 가능한 변수 선언 예약어 함수 스코프 호이스팅으로 인하여 선언 전 undefind로 초기화 |
let | 재선언은 불가하나 재할당은 가능한 변수 선언 예약어 블록 스코프 호이스팅 영향은 받지만 TDZ로 인해 선언 전 호출 불가 |
const | 재선언과 재할당이 불가능한 상수 선언 예약어 블록 스코프 호이스팅 영향은 받지만 TDZ로 인해 선언 전 호출 불가 |
var는 초기 javascript에서 자주 사용되던 변수 선언예약어다. 아직도 많은 곳에서 사용되고 있지만 선언, 스코프,호이스팅 등 여러 문제들이 발생하자 이를 해결하기 위해 ES6에서 let과 const을 추가하였다. 따라서 현재는 let과 const사용을 권장하고 있다.
3. 변수 선언 문법
/*
변수예약어 변수명 = 데이터;
변수예약어와 변수명 사이에 공백으로 구분하여야 한다.
*/
ex)
//변수 선언시
let name = '이름';
//상수 선언시
const number = 10;
4. 변수 생성시 주의사항
/*
1.변수의 이름 첫 글자는 숫자로 할 수 없고 변수명이 숫자로만 이루어질 수 없다.
=> 변수명 첫글자에 숫자가 있으면 상수인지 변수인지 식별할 수 없다.
*/
let 1num;
let 10;
/*
2.변수명 글자 사이에 공백을 넣을 수 없다.
=> 변수명 사이에 공백을 넣을 경우 가독성을 해치고 변수를 식별할 수 없음
*/
let num ber;
/*
3.예약어는 변수명으로 사용될 수 없다.
=> 미리 정의된 예약어를 변수명으로 사용할 경우 컴퓨터는 예약어인지
변수인지 식별할 수 없음
*/
let let;
/*
4.변수명은 한글,영문,숫자,하이픈(_)으로만 구성된다
=> 다른 특수문자를 사용할 경우 환경에 따라 인식이 되지 않을 수 있음
*/
let num^;
변수 작성시 해당 사항들을 지키지 않으면 에러를 발생시킨다. 그렇다면 위 사항만 잘 지키면 문제가 없을까? 당장 큰 문제가 생기지 않을 것이다. 하지만 한가지 더 중요한 것이 있다. 변수의 이름을 의미가 있는 단어로 짓는 것이다.
//변수가 어떤 데이터를 담는지 알 수 없음
let a;
//변수가 누군가의 이름을 담고있는 것이라고 추측할 수 있음
let name;
소프트웨어를 개발할 때 혼자만 개발한다면 당장은 문제가 되지 않을 것이다. 하지만 개발 팀원 여럿이 함께 개발을 하거나 개발한지 오래되어 무슨 이유로 변수를 사용하였는지 분석을 하기 전에는 알 수가 없다. 따라서 변수명을 해당 변수가 담을 데이터와 관련된 이름으로 선언하는 것이 좋다.