IFIF3526
IFIF3526
IFIF3526
전체 방문자
오늘
어제
  • 분류 전체보기 (54)
    • Android Studio (7)
    • AWS (4)
    • Machine Learning (3)
    • Node.js (2)
    • 언어 (29)
      • Python (13)
      • JAVA (7)
      • JavaScript (3)
      • SQL (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
IFIF3526

IFIF3526

언어/JavaScript

var, let, const의 차이

2022. 10. 11. 17:50

https://www.howdy-mj.me/javascript/var-let-const

 

var, let, const의 차이 ⏤ 변수 선언 및 할당, 호이스팅, 스코프

자바스크립트에서 var로 변수 선언이 가능했는데, 왜 const와 let이 나왔으며 이 둘의 사용을 권장할까? 이를 정확하게 알기 위해서는, 변수의 선언 및 할당 과정, 호이스팅, 스코프를 알아야한다. #

howdy-blog-v2.vercel.app

var 키워드의 문제점 3가지

  • 변수 중복 선언이 가능하여, 예기치 못한 값을 반환할 수 있다.
  • 함수 레벨 스코프로 인해 함수 외부에서 선언한 변수는 모두 전역 변수로 된다.
  • 변수 선언문 이전에 변수를 참조하면 언제나 undefined를 반환한다.

let 키워드

  • 변수의 중복 선언 불가, 재할당 가능.
let name = 'kmj'
console.log(name) // output: kmj

let name = 'howdy' // output: Uncaught SyntaxError: Identifier 'name' has already been declared

name = 'howdy'
console.log(name) // output: howdy

const

  • 선언과 초기화를 동시에 진행해야 한다.
const name; // output: Uncaught SyntaxError: Missing initializer in const declaration
const name = 'kmj'
  • const 도 let 과 마찬가지로 재선언이 불가능하다.
  • 재할당 불가, 재할당의 경우, 원시 값은 불가능하지만, 객체는 가능하다.
  • const 키워드는 재할당을 금지할 뿐, '불변'을 의미하지는 않는다.
// 원시값의 재할당
const name = 'kmj'
name = 'howdy' // output: Uncaught TypeError: Assignment to constant variable.

// 객체의 재할당
const name = {
  eng: 'kmj',
}
name.eng = 'howdy'

console.log(name) // output: { eng: "howdy" }

 

 

'언어 > JavaScript' 카테고리의 다른 글

변수(Variable) 와 상수(Constant)  (2) 2022.10.11
JavaScript 입문 console.log('Hello, World');  (0) 2022.10.11
    '언어/JavaScript' 카테고리의 다른 글
    • 변수(Variable) 와 상수(Constant)
    • JavaScript 입문 console.log('Hello, World');
    IFIF3526
    IFIF3526
    배운 것을 정리하며, 복습을 위해 정리하는 공간입니다...

    티스토리툴바