변수와 상수 [let, const]

DOYOUNG·2023년 3월 7일
0

javascript

목록 보기
2/17
post-thumbnail

변수란?

console.log('Hello,', '철수');
// 값들을 주머니에 담아 사용하기
const SALUTATION = 'Hello,';
let person = '철수';
console.log(SALUTATION, person);
person = '영희';
console.log(SALUTATION, person);

첫번째와 두번째 코드의 결과는 같다. 두번째 코드에서는 결과값을 각각 변수의 값으로 넣어주고 콘솔에 그 변수를 호출했다.
여기서 let과 const의 차이점은 let은 변수를 선언한 후에도 값을 바꿀 수 있고, const는 값을 바꿀 수 없다.

변수(variable) let

let : 담긴 값이 바뀔 수 있는 변수

01. 변수만 선언했을 때의 값 = undefined

let x;
x = 1;
console.log(x);

처음 변수만 선언했을 때는 데이터에서는 undefined라는 값을 가지고, 값을 넣어주면 변수가 가지는 데이터의 위치가 바뀐다.
기존 위치(undifined)에 새 값을 넣는 것이 아닌 변수가 가리키는 위치가 바뀌는 것.

02. 변수 선언과 값 넣기를 동시에 (초기화-일반적인 방법)

let x = 1;
console.log(x);

03. 다른 변수가 같은 값을 가질 때

let x = 1;
let y = x; // x가 가진 값을 y에 할당
console.log(x,y);

같은 값(1)이 다른 데이터로 저장되지 않고 같은 데이터를 가리키게 된다.

let x = 1;
let y = x;
console.log('변경 전', x, y);

결과 값 = 변경 전, 1, 1

x = 'Hello!';
console.log('변경 후', x, y);

결과 값 = 변경 후, Hello, 1
변수 y가 변수 x=1의 값을 가진 상태로 변수 x의 값을 바꾼다고 해도 y의 값까지 변하지는 않는다.

04. 이미 만들어진 변수를 재선언 할 수 없음

let x = 1;
console.log('첫 선언', x);

let x = 2;
console.log('다시 선언', x);

위의 코드는 같은 변수 x를 중복으로 선언했기 때문에 실행이 불가능하다.
예전에 사용하던 var는 이것이 가능했었지만 체계가 없어서 현재는 잘 사용하지 않는다.

let x = 1;
console.log('첫 선언', x);

x = 2;
console.log('다시 선언', x);

이와 같이 변수를 처음 선언 후 변수의 값을 변경하는 것만 가능하다.

05. 변수를 선언하기 전 코드를 사용할 수 없음

console.log(xyz);
let xyz = 1;

위의 코드는 실행이 불가능하다. 변수를 먼저 선언한 후에 변수를 사용한 코드를 쓸 수 있다.

상수 constant

const : 담긴 값이 바뀔 수 없음
흔히 const의 이름은 대문자로 사용한다.

01. 상수를 선언과 동시에 초기화

const PI = 3.14;
console.log('원주율:', PI);

02. 선언하기만 하는 것 불가능

const PI;
PI = 3.14;

let은 가능한 변수 먼저 선언하는 것이 const에서는 불가능하다.
상수를 선언함과 동시에 값을 지정해주어야 한다.

03. 상수는 값의 변경이 불가능```

코드를 입력하세요


```javascript
const PI = 3.14;
PI = 3.14159

이 또한 let은 가능하지만 const는 불가능하다. 한번 선언한 상수의 값은 변경할 수 없다.

그러므로, 값이 변경될 일 없는 데이터는 상수(const)로 선언하면 되겠다.

여러 변수와 상수 동시에 선언할 때

// let a = 1;
// let b = 2;
// ...

let a = 1, b = 2, c = 3;
const X = 4, Y = 5, Z = 6;

console.log(a, b, c);
console.log(X, Y, Z);

변수와 상수를 한번에 여러개 선언할 때에는 각각 쓰기보다 한줄로 쓰는 편이 가독성에 좋다.

식별자 - 상수와 변수 등의 이름

01. 식별자 identifier 명명 규칙

  • 영문, 한글 및 유니코드 글자, 숫자 사용가능
  • 특수문자는 $ 또는 _
  • 숫자로 시작할 수 없음
  • 공백(스페이스) 사용 불가

02. 예약어 reserved words

변수명이나 상수명으로 쓸 수 없는 것들

const let = 1;
let typeof = 2;

이미 자바스크립트에서 의미를 가지고 있는 단어들은 상수나 변수의 이름으로 사용 불가능

profile
프론트엔드 개발자 첫걸음

0개의 댓글