벡엔드/NodeJS

[JavaScript] 상수 변수

공기반 코딩반 2023. 12. 24. 00:45
반응형

const로 선언된 상수는 변경 불가능

let 으로 선언된 변수는 변경 가능

- 코드 길어지면 변수가 어떤 값을 가질 지 모르기 때문

 

const로 선언된 객체의 프로퍼티의 값은 변경 가능

let x = 1;

x = 4;

const y = x;

y = 3;
x = 2;

console.log(x);

 

→ const변수를 변경하려 해서 error 발생

 

 

 

let team1 = ['Drum', 'Bass', 'Saxophone'];
const team2 = team1;

team1.splice(2, 1, 'Trumpet');
team2.splice(2, 1, 'Piano');

console.log(team1);
console.log(team2);


// [ 'Drum', 'Bass', 'Piano' ]
// [ 'Drum', 'Bass', 'Piano' ]

 

- 배열은 참조형 값이기 때문에, 이때 주소 값이 복사되어서 일단 team1과 team2는 서로 같은 배열을 가리킴.

- const 키워드로 변수를 선언하게 되면 값을 재할당할 수 없지만, 할당된 값이 객체나 배열일 경우 메소드를 통해서 그 값을 변경할 수 있음.

반응형