const
재할당 | 재선언 | |
X | X |
const역시 let이나 var와 마찬가지로 변수를 만드는 키워드이다.
이름에서 알 수 있듯이 const로 선언한 변수는 '상수변수'(constant variable)이다.
상수는 프로그램 안에서 변하지 않는 값을 뜻한다. 즉, 변하면 안되는 값을 변수로 선언할 때 const를 사용한다.
프로그램에서 특정 상숫값을 자주 사용한다면 변수에 담아서 사용하는 것이 편리하다.
const로 선언한 변수는 값을 재할당하거나, 이름을 재선언할 수 없으며
let을 사용한 변수처럼 블록레벨의 스코프를 가진다.(선언된 중괄호 안에서만 유효하다)
*선언할때 값도 같이 넣어놔줘야한다.*
회원가입정보를 넣어놓거나 태그를 선택해서 넣어놓을 때등 사용한다.
비주얼스튜디오에서는 오류가 안나지만 콘솔창에서는 오류가 나는 것을 볼 수 있다.
그래서 콘솔창을 켜놓고 작업해야한다.
currentYear는 상수변수라서 값을 재할당하면 오류나고, 다시 재선언도 할 수 없다.
다른 변수로 가져와서 같은 이름으로 쓸 수도 없다.
* 상수변수는 반드시 선언하면서 값도 같이 넣어줘야한다.
선언할 때 값이 없으면 오류난다. 선언 먼저하고 나중에 값을 할당할 수 없다.
/*상수변수 currentYear의 값을 가져와서 쓸 수 있다.
currentYear에 20을 더해 let year에 할당하면 2044가 잘 출력된다. */
let year = currentYear + 20;
console.log(year);
/*상수변수 안에 배열이 들어 있다면 배열 자체는 바꿀 수 없지만 배열 안에 있는 데이터는 바꿀 수 있다.*/
const array = [50, "hi", true, null];
//배열에서 인덱스번호 1번째 데이터를 꺼내서 let chocolat1에 할당하기 - 가능
let chocolat1 = array[1];
console.log(chocolat1);
//상수변수 arrey 배열 안에 있는 인덱스 1번의 데이터를 직접 바꾸기 - 가능
array[1] = "bye";
console.log(array[1]);
//배열 전체를 변화시킬 수는 없다. 배열 자체를 지우고 문자열을 넣을려고 하면 오류난다.
array = "안녕하세요";
//상수변수 array 배열의 마지막 인덱스에 '마지막거'라는 데이터를 추가하기 - 가능
array.push("마지막거");
console.log(array);
배열 안에 있는 데이터를 바꾸는 것은 가능하나 배열 자체를 다른 값으로 바꾸는 건 불가능하다.
상수 변수 안에 있는 객체도 객체의 속성값을 바꾸거나 속성을 추가하는 것은 가능하다.
상수 변수 안에 있는 객체 자체를 다른 데이터로 바꾸는 것 - 불가능
const member = {
name: "김땡땡",
usesrId: "dotKim",
userPW: "1234",
age: 20,
};
member.name = "이땡땡";
console.log(member);
/*상수변수 안에 배열이 들어 있다면 배열 자체는 바꿀 수 없지만 배열 안에 있는 데이터는 바꿀 수 있다.*/
const array = [50, "hi", true, null, { name: "kim" }];
//배열에서 kim꺼내기
console.log(array[4].name);
//kim 을 park으로 바꾸기
console.log((array[4].name = "park"));
'자바스크립트 > 변수' 카테고리의 다른 글
[자바스크립트]- ★매개변수 / 매개변수 없이 인수 값 받아오기 arguments (0) | 2024.07.29 |
---|---|
[자바스크립트] - 자바스크립트에서 변수 쓰는 법 (0) | 2024.07.26 |
[자바스크립트] - 변수의 재선언 / 재할당 (0) | 2024.07.26 |
[자바스크립트] - 변수 let / 함수레벨의 스코프(함수영역) , 블록레벨의 스코프(블록영역) (1) | 2024.07.25 |
[자바스크립트] -스코프 / 지역변수(로컬변수) / 전역변수(글로벌변수) (0) | 2024.07.25 |