본문 바로가기
강의 실습/웹 프론트엔드를 위한 자바스크립트 첫 걸음

변수와 상수

by Jint 2023. 7. 30.

1. 변수
프로그램이 실행되는 도중에 변경되는 값을 저장하기 위한 이름을 가진 저장소

 

// 변수
// let 이름 = 값;
let color = "skyblue";
console.log(color); // skyblue
color = "yellow";
console.log(color); // yellow

 

변수를 선언할 때 let 이라는 키워드를 사용. 자바스크립트 변수를 선언하고, 중간에 값을 변경할 수 있다.

 

 

2. 변수 명명 규칙
1) '$'와 '_'를 제외한 기호는 사용 불가

let $name;
let test_data;
let & name; //불가능
let ^ test; //불가능

 

2) 변수명의 맨 앞은 숫자 사용 불가

let 1test; //불가능
let test12; //가능

 

3) 예약어 사용 불가

let let = 1; //에러!!
let class = "class"; //에러!!

 

(참고링크 : https://www.w3bai.com/ko/js/js_reserved.html#gsc.tab=0)

 

 

3. 긴 변수명 표기법

 

// 긴 변수명 표기법
let iscatordog;
let isCatOrDog; // 카멜 표기법

 

여러 단어를 조합해 변수명을 만들 경우에는 카멜 표기법 으로 변수명을 작성. 훨씬 읽기 수월하고 좀 더 직관적으로 변수의 역할을 확인 가능.

 

 

4. 동적 타입과 typeof 연산

 

// 동적 타입과 typeof 연산
let nowType = "안녕하세요";
// typeof 연산자 : 변수의 현재 타입을 확인
console.log(typeof nowType); // string

nowType = 100;
console.log(typeof nowType); // number

 

자바스크립트 변수는 typeof 연산자를 통해 해당 변수의 현재 타입을 확인해볼 수 있다.
자바스크립트 변수는 선언 시 자료형을 명시하지 않는 이유는 값이 바뀔때마다 바뀐 값의 자료형을 변수의 자료형으로 갖는 동적 타입을 지원하기 때문.

 

 

5. 상수
상수란, 변화하지 않는 변수.
상수를 선언할 땐 let 이 아닌 const 키워드를 통해 변수를 선언.

 

// 상수
const color2 = "skyblue";
color2 = "yellow";

console.log(color); //에러 : TypeError: "color2" is read-only

 

const로 선언되어있는 color 라는 상수의 값을 yellow으로 변경시키려고 한다면, 타입 에러가 발생.
const로 선언된 변수는 프로그램 실행 도중 변화할 수 없는 변수인 상수.

 

 

6. 상수 활용 예시
1) 생일, 이름 등 정말 값이 절대 변경될 수 없다고 확신할 때, 다른 개발자들이 변수의 값을 변화시키는 것을 방지하기 위해 사용

const BIRTH = "12-21";
const NAME = "hyobin";

 

2) 값이 변경되지 않기 때문에 기억하기 어려운 값을 저장하는 예약어로도 사용

const GITHUB_URL = "https://github.com/hbin12212";
const VELOG_URL = "https://velog.io/@hbin12212";

 

상수를 예약어로 활용할 때는 위와 같이 전부 대문자로 선언 후 사용.

 

 

참고강의 : https://www.inflearn.com/course/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B2%AB%EA%B1%B8%EC%9D%8C

 

웹 프론트엔드를 위한 자바스크립트 첫 걸음 - 인프런 | 강의

웹 프론트엔드 개발자를 희망한다면? 친절하고 꼼꼼한 자바스크립트 강의로 첫걸음을 내딛어보세요✨, 쉽고 자세하게 배우는 자바스크립트🤓나만의 크롬 개발화면까지 뚝딱! 누구나쉽게 이

www.inflearn.com

댓글