[JavaScript] 자바스크립트 변수와 상수

S0ju·2022년 4월 5일
0

JavaScript

목록 보기
2/22

변수: 프로그램이 실행되는 도중에 계속해서 바뀌는 값을 저장하기 위한 이름 / 어떤 값을 이름을 붙여서 부르고 싶을때 이용

자바스크립트에서 변수를 만드는 방법:

let age = 25;

25라는 값을 age라는 이름으로 부를 수 있게 됐다고 생각.
이때, age를 변수의 이름,변수 그 자체라고 부를 수 있음.

let 키워드와 함께 변수를 만드는 작업 >> 변수 선언(변수를 쓰겠다)

console.log();라는 명령어는 괄호안에 있는 값을 그대로 콘솔에 출력하는 역할을 하는 자바스크립트의 기능

console.log()에 변수의 이름을 전달하게 되면 변수의 값 출력

console.log(age);

변수는 프로그램 실행 도중에 값을 바꿀 수 있음.

let age = 25;
console.log(age); //25출력
age = 30;
console.log(age); //30출력

변수는 프로그램 실행 도중에 계속해서 바뀔 수 있는 값을 저장하는 이름 붙은 저장소

변수의 이름 규칙
1. 기호 사용 불가 XX (기호가 어디에 위치하던지 상관없이)
아래 예시는 모두 불가능한 변수명

let ^age = 25; //에러 발생
let ag+e = 25; //에러 발생

변수명에 유일하게 사용해도 되는 기호 : _ , $

let ag_e = 25;
let ag_$e = 25;
console.log(ag_$e); //25출력
  1. 숫자 맨앞 사용 불가 XX (숫자가 뒤에 있으면 상관 X)
    아래 예시는 불가능한 변수명
let 6age = 25; //에러 발생

숫자가 뒤에 있으면 상관 X (숫자를 넣고 싶다면 변수명 중간이나 끝에 넣는것을 추천!)

let age6 = 25;
  1. 변수명에 예약어(자바스크립트가 쓰는 키워드) 사용 불가 XX
    아래 예시는 불가능한 변수명(if라는 단어는 자바스크립트의 조건문을 지칭하는 단어)
let if = 25; //에러 발생

<변수의 이름 규칙>
1. _와 $를 제외한 기호는 변수명에 사용할 수 없다!
2. 변수명은 반드시 숫자가 아닌 문자로 시작해야 한다!
3. 예약어를 피해야 한다!

변수를 만들 때 let 말고 사용할 수 있는 키워드 var 존재

var age = 25;
console.log(age); // 25출력

//중간에 변수처럼 값을 바꿔도 잘 실행됨.
age = 30;
console.log(age); // 30출력

사실, var와 let은 변수를 만드는 방식(변수를 선언하는 방식), 중간에 값을 변경할 수 있는 변수를 생성한다는 것도 똑같다.

그러나, var는 우리 프로그래머들을 함정에 빠뜨리게 할 수 있다.

var age = 25;
console.log(age); // 25출력

//값 재할당X , 또 한번 선언해도 아무 이상없음.(이건 잘못된 동작😨)
var age = 30;
console.log(age); // 30출력
//만약
var age = 25; //A개발자 작성(숫자)
console.log(age); // 25출력

//1000줄의 코드 있을수도?!

var age = "30"; //B개발자 작성(문자)
console.log(age); // 30출력
//문제가 생길 가능성 굉장히 높아짐.

var와 다르게 let은 변수를 중복해서 선언하는 것을 허용하지 XX

let age = 25;
console.log(age); // 25출력

let age = 30; 
console.log(age); // 에러발생
//우리 프로그래머들이 함정에 빠질 가능성을 줄여줌.

그래서 var 대신에 앞으로 변수를 선언하고 사용할 때 let 키워드만 사용할 예정.

상수 : 어떤 값을 이름으로 부르기 위해 존재
let이 들어올 자리에 const가 들어오면 상수가 됨.
선언 이후 값을 절대로 바꿀 수 없음.

그렇기 때문에, 상수는 선언과 동시에 초기화가 이루어지지 않아도 에러 발생(나중에 값을 넣을 수 없기 때문).

const age = 25;
console.log(age);
//상수와 변수의 다른점
//변수는 중간에 값을 바꿔도 문제 X
//상수는 값을 바꾸면 오류 발생
age = 30; //에러 발생
profile
프론트엔드 개발자가 되기 위해 공부중입니다 : )

0개의 댓글

관련 채용 정보