console.log('Hello,', '철수');
// 값들을 주머니에 담아 사용하기 const SALUTATION = 'Hello,'; let person = '철수'; console.log(SALUTATION, person);
person = '영희'; console.log(SALUTATION, person);
첫번째와 두번째 코드의 결과는 같다. 두번째 코드에서는 결과값을 각각 변수의 값으로 넣어주고 콘솔에 그 변수를 호출했다.
여기서 let과 const의 차이점은let
은 변수를 선언한 후에도 값을 바꿀 수 있고,const
는 값을 바꿀 수 없다.
let
: 담긴 값이 바뀔 수 있는 변수
let x;
x = 1;
console.log(x);
처음 변수만 선언했을 때는 데이터에서는 undefined
라는 값을 가지고, 값을 넣어주면 변수가 가지는 데이터의 위치가 바뀐다.
기존 위치(undifined)에 새 값을 넣는 것이 아닌 변수가 가리키는 위치가 바뀌는 것.
let x = 1;
console.log(x);
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의 값까지 변하지는 않는다.
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);
이와 같이 변수를 처음 선언 후 변수의 값을 변경하는 것만 가능하다.
console.log(xyz);
let xyz = 1;
위의 코드는 실행이 불가능하다. 변수를 먼저 선언한 후에 변수를 사용한 코드를 쓸 수 있다.
const
: 담긴 값이 바뀔 수 없음
흔히 const의 이름은 대문자로 사용한다.
const PI = 3.14;
console.log('원주율:', PI);
const PI;
PI = 3.14;
let은 가능한 변수 먼저 선언하는 것이 const에서는 불가능하다.
상수를 선언함과 동시에 값을 지정해주어야 한다.
코드를 입력하세요
```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);
변수와 상수를 한번에 여러개 선언할 때에는 각각 쓰기보다 한줄로 쓰는 편이 가독성에 좋다.
변수명이나 상수명으로 쓸 수 없는 것들
const let = 1;
let typeof = 2;
이미 자바스크립트에서 의미를 가지고 있는 단어들은 상수나 변수의 이름으로 사용 불가능