JaeYeongSong
Xsop의 개발일기
JaeYeongSong
전체 방문자
오늘
어제
  • 분류 전체보기 (41)
    • 💻 Python (17)
      • Python 기초 강의 (6)
      • 비트코인 자동 매매 (7)
      • 크롤링 (3)
      • 알고리즘 (1)
    • ✨ JavaScript (9)
      • Basic (8)
      • Node.js (1)
    • ⭐ HTML (9)
    • 🌟 API (2)
    • 💡 일상 (3)

블로그 메뉴

  • 홈
  • 태그
  • 게시물

공지사항

인기 글

태그

  • 지정가
  • upbit
  • Python
  • 비동기
  • Web
  • 웹 사이트
  • Crawling
  • HTML
  • 웹 페이지 크롤링
  • input
  • upbit api
  • Web page Crawling
  • 비트코인 자동매매
  • 비트코인
  • 문자열
  • slack api
  • 자료형
  • 글쓰기
  • 자산 조회
  • 태그
  • 크롤링
  • 동기
  • API
  • 기초 문법
  • Slack
  • 웹
  • JavaScript
  • 시장가
  • 봇
  • callback

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
JaeYeongSong

Xsop의 개발일기

✨ JavaScript/Basic

[JavaScript] 변수 선언자 var, let, const 차이점

2021. 11. 3. 22:35

개념정리

var : 변수 선언자이고, 해당 변수가 속한 범위(scope) 최상단으로 올려버리는 현상이 생긴다. 불필요하게 전역 변수를 선언한다. (오류발생 위험 커짐)

 

let : 변수 선언자이고, const 변수 선언자와 같이 블록 스코프를 가지므로, 블록 밖에서는 변수에 접근을 할 수 없다.

 

const : 변수 선언자이고, var 변수 선언자와 같이 블록 스코프를 가지므로, 블록 밖에서는 변수에 접근을 할 수 없다.

 

  • let 변수 선언자와 const 변수 선언자는 서로 차이점이 존재한다. const는 한 번 값을 할당하면 다른 값을 할당할 수 없다. (다른 값을 할당하려고 하면 Error 발생)

블록이란? JavaScript에서 {}(중괄호)[Ex. function, if, for, while 문]를 블록이라고 부른다.

 


var VS let, const 차이점 (블록 스코프)

Code

if (true) {
    var x = 3;
}
console.log(x); // 3

if (true) {
    const y = 3;
}
console.log(y); // Uncaught ReferenceError: y is not defined

Console

3
console.log(y); // Uncaught ReferenceError: y is not defined
            ^

ReferenceError: y is not defined

let과 const는 블록 밖에서 안을 볼 수 없다.


let VS const 차이점

Code

const a = 0;
a = 1; // Uncaught TypeError: Assignment to constant variable.

let b = 0;
b = 1; // 1

const c; // Uncaught SyntaxError: Missing initializer in const declaration

Console

a = 1; // Uncaught TypeError: Assignment to constant variable.
  ^

TypeError: Assignment to constant variable.

const c; // Uncaught SyntaxError: Missing initializer in const declaration
      ^

SyntaxError: Missing initializer in const declaration

const는 값을 재할당 할 수 없고, 변수를 생성할 때 값이 무조건 존재해야 한다.


저작자표시 (새창열림)
    '✨ JavaScript/Basic' 카테고리의 다른 글
    • [JavaScript] async, await (Promise를 간결하고 깔끔하게!)
    • [JavaScript] Promise(프로미스) Callback 지옥을 해결하는 방법!
    • [JavaScript] Class 알아보기
    • [JavaScript] 화살표 함수(this 바인딩) 알아보기
    JaeYeongSong
    JaeYeongSong
    "I walk slowly, but I never walk backwards. - Abraham Lincoln" "나는 천천히 걷지만 결코 뒤로 걷지 않는다. - 에이브러햄 링컨" #코딩 #Python #JavaScript

    티스토리툴바