일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Node
- 블록체인 강의
- K-MOOC 단국대학교 홍보단
- 블록체인강의
- html 태그
- 자료구조
- StringTokenizer
- biginteger사용법
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- HTML
- 스레스
- 자바스크립트
- o_excl
- 자바문자열구분
- html기초
- 스레드 풀 웹 서버
- 단국대학교 k-mooc
- StringBuilder
- 자바
- 컴파일시스템
- javascript
- 자바입력받기
- national instruments
- 해시
- 블록체인
- CSS 기초
- K-MOOC
- stringreader
- o_creat
- 시스템프로그래밍
- 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) (0) | 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 |