다시 시작하는 자바스크립트 - var, let, const의 차이(심층)자바스크립트2023. 3. 10. 15:46
Table of Contents
728x90
반응형
헷갈리는 것들만 따로 정리할 예정.
deep dive 책을 함께 공부함.
1. const와 let, var의 차이
- const는 재할당 불가능. let은 재할당 가능.
- const 변수명은 대문자로 생성해야 함. 단어와 단어 사이에는 언더스코어(_)를 표기해줘야 함.
ex) const MAX_FRUITS = 5;
- const와 let은 코드 블록 내에서 선언시 외부에서 접근 불가. => 내부에서 선언한 변수를 지역변수라고 함.
- 지역변수 외에서 선언한 글로벌 변수(전역변수) let과 const는 어디서든 사용 가능
- var은 const와 let처럼 제한이 걸리지 않으므로 사용을 안하는 게 좋음.
<body>
<div id="result"></div>
<script>
const price = 30000;
const service = 2;
// const는 const service; 이런 식으로 변수 이름만 선언 불가
// const랑 let은 함수, if문, for문 등 코드블록 내에서 선언시
// 외부에서는 접근할 수 없음
// 코드블록 내에서 선언한 변수는 지역변수
// but, 지역변수 외에서 선언한 글로벌 변수 let과 const는 어디에서든 사용 가능
// var은 사용하지 않는게 좋음
if (service == 1) {
const service_result = "매우 만족";
const tip = price * 0.15;
document.getElementById("result").innerHTML =
"- 음식값 : " +
price +
"원<br/>" +
"- 서비스 만족도 : " +
service_result +
"<br/>" +
"- 팁 : " +
tip +
"원";
} else if (service == 2) {
const service_result = "만족";
const tip = price * 0.1;
document.getElementById("result").innerHTML =
"- 음식값 : " +
price +
"원<br/>" +
"- 서비스 만족도 : " +
service_result +
"<br/>" +
"- 팁 : " +
tip +
"원";
} else {
const service_result = "불만족";
const tip = price * 0.05;
document.getElementById("result").innerHTML =
"- 음식값 : " +
price +
"원<br/>" +
"- 서비스 만족도 : " +
service_result +
"<br/>" +
"- 팁 : " +
tip +
"원";
}
</script>
</body>
상수 apple 에 객체를 선언하게 되면 재할당은 불가능하지만
apple이라는 변수에 메모리 주소가 할당되어 있기 때문에
apple.name="orange"라는 식으로 접근하여 프로퍼티 값을 변경할 수 있음.
재할당이 불가능하여 apple에 다른 메모리 주소를 담을 수는 없지만, 매모리 주소가 가르키는 곳에 있는 object 변경은 가능.
const apple = {
name: "apple",
color: "red",
display: "🍎",
};
console.log(apple); => { name: "apple", color: "red", display:"🍎" }
apple.name = "orange";
console.log(apple.name); => orange
728x90
반응형
'(심층)자바스크립트' 카테고리의 다른 글
다시 시작하는 자바스크립트 - 원시 타입과 객체 타입! (4) | 2023.03.10 |
---|---|
다시 시작하는 자바스크립트 - 불리언 타입에서 Falthy와 Truthy 값에 해당하는 것들 (3) | 2023.03.10 |
deep dive(...) (0) | 2022.12.10 |
타강의 2-3) 자바스크립트 (0) | 2022.12.07 |
타강의 2-2) 자바스크립트 (1) | 2022.12.01 |
@min' :: 개발을 하자
github : https://github.com/dnjfht
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!