Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
[Javascript]: var, let, const 키워드
language
javascript

[Javascript]: var, let, const 키워드

Jay Kim
Jay Kim 25 Jan 2024
[Javascript]: 지역 변수와 전역 변수 [Javascript]: 프로토타입

Table of Contents

  • var
  • let
  • const
  • 결론

var

  • var은 중복 선언을 허용한다
  • 함수 레벨 스코프이다
  • 변수 호이스팅이 일어난다
  • (var은 런타임 이전에 무조건 undefined로 초기화되어서 런타임에 선언문을 만나기 전에 참조 에러가 안생기고 undefined를 참조한다)

let

  • 중복 선언은 금지하지만, 재할당은 허용한다 (재할당은 새로운 메모리 주소에 새로운 값을 저장하고 식별자가 새로운 메모리 주소와 바인딩되는 것을 말한다)
  • 블록 레벨 스코프이다
  • 변수 호이스팅이 발생하지만, 초기화가 런타임 때 선언문을 만났을 때 일어난다
  • (변수가 런타임 이전에 등록은 되지만, 초기화는 런타임 때 선언문을 만났을 때 일어나기 때문에 그 전에 참조하면 참조 에러가 난다)

const

  • 중복 선언도 금지하고, 재할당도 금지한다
  • 블록 레벨 스코프이다
  • let과 마찬가지로 변수 호이스팅이 발생하지만, 호이스팅 발생하지 않는 것처럼 선언문 이 후에 참조할 수 있다

결론

  • ES6 이후로는 var은 사용하지 않아도 된다
  • 일단 const를 사용하자
  • 재할당이 필요한 경우는 let을 사용하자
[Javascript]: 지역 변수와 전역 변수 [Javascript]: 프로토타입

You may also like

See all javascript
11 Feb 2024 [Javascript]: 자바스크립트 이벤트 루프와 콜 스택
language
javascript

[Javascript]: 자바스크립트 이벤트 루프와 콜 스택

10 Feb 2024 [Javascript]: 비동기 프로그래밍
language
javascript

[Javascript]: 비동기 프로그래밍

이웅모님의 모던 자바스크립트 Deep Dive 책을 읽고 정리한 내용이다

05 Feb 2024 [Javascript]: 타이머 함수
language
javascript

[Javascript]: 타이머 함수

이웅모님의 모던 자바스크립트 Deep Dive 책을 읽고 정리한 내용이다

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.