일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바입력받기
- 우선순위큐
- 자바
- 오블완
- 딥러닝
- 티스토리챌린지
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- TypeScript
- national instruments
- 자바문자열구분
- biginteger사용법
- StringTokenizer
- CSS 기초
- Entity
- 블록체인강의
- 해시
- 시스템프로그래밍
- 자바스크립트
- K-MOOC 단국대학교 홍보단
- 블록체인 강의
- K-MOOC
- 단국대학교 k-mooc
- html기초
- Node
- stringreader
- 디스크블록할당
- 머신러닝
- 블록체인
- 컴파일시스템
- 2차원배열정렬
- Today
- Total
열정 실천
[JavaScript] var, let, const 차이 본문
앞 포스팅에서 다룬 var의 문제들로 인해 ES6에서는 let과 const라는 새로운 문법을 소개했다.
let과 const 는 전에 말한 var의 3가지 문제를 개선한 문법이라고 보면 된다.
📌 var와 구별되는 let, const의 특징
1. 같은 이름의 변수를 중복 선언할 수 없다.
2. 함수스코프가 아닌 블록스코프이다.
스코프, 함수스코프, 블록스코프 알아보기 👉👉 https://guun-oni.tistory.com/80
3. 호이스팅이 발생하지만 초기화되지는 않는다.
>> var와 마찬가지로 선언이 맨 위로 끌어올려지는 호이스팅이 발생하지만
var 변수는 undefined(정의되지 않음)으로 초기화되고,
let과 const 변수는 초기화되지 않아 선언 이전에 변수를 사용하려고 시도하면 reference error 오류가 발생한다.
📌 let과 const의 차이
같은 블록 범위를 가지는 let과 const의 차이는 업데이트의 될 수 있는가 없는가이다.
let 은 선언 후 나중에 업데이트가 될 수 있지만, (업데이트 == "재할당" or "재정의" or "mutable")
let num = "One";
name = "Seven";
const 는 선언 후 업데이트가 될 수 없다. (Immutable)
또한 처음 선언 시 무조건 값이 초기화가 되어야한다.
const num = "One";
const name; //ERROR
const로 선언된 객체는 업데이트할 수 없지만 객체의 '속성=프로퍼티'는 업데이트 할 수 있다.
(객체 변수에 할당된 주소 값을 변경할 수 없는 것)
const person = {
name : "Koo",
age : "20"
}
person.age = 30; // 가능
👉 So!
재할당이 필요없는 상수와 객체는 const를 사용하는 것이 좋다. 의도치 않은 재할당을 방지해준다.
재할당이 필요한 경우에는 let을 사용하면 된다.
'개발 공부 > JS' 카테고리의 다른 글
[JavaScript] 렉시컬 스코핑 (Lexical Scoping) (1) | 2023.07.28 |
---|---|
[JavaScript] var를 쓰지 않는 이유 - 함수스코프, 호이스팅 (0) | 2023.07.19 |
[JavaScript] 스코프(Scope)란? - 함수 스코프 vs 블록 스코프 (0) | 2023.07.19 |
[JavaScript] JSON - JSON.parse, JSON.stringify (0) | 2023.05.18 |
[JavaScript] Promise (0) | 2023.05.18 |