[JS] var, let, const 차이

2022. 10. 5. 21:17·개발/html, css, js
728x90
반응형

1. var

var a;
var b = 1
var a = 3
b = 3

var는 위와 같이 변수를 선언하거나 선언하면서 값을 할당할때 사용한다.

var로 변수를 선언하고 또 var로 변수를 선언해도 오류가 나오지 않는다.

이는 코드가 길어질수록 오류가 어디서 나오는지 모르게되는 경우가 있을수 있다.

따라서 var를 지양하고 let과 const를 지향하자.

 

2. let

let a;
let a = 2

위와 같이 let으로 선언한 변수를 다시한번 let으로 선언하면 오류가 나온다.

이 부분 빼고는 var와 비슷하게 사용할수 있다고 생각하면 된다.

한번 선언하고 값을 계속 할당할수 있다.

 

3. const 

const a = 3
a = 2

위와 같이 const로 선언한 변수의 값을 재할당 하면 오류가 나온다.

이것이 let과 const의 차이점이다.

const는 값이 변하지 않는 상수를 선언할때 사용한다.

 

4. var와 let & const의 차이점

var는 함수스코프 이고 let & const 는 블록스코프이다.

이말은, var는 같은 함수내에 있다면 어디서든 전역으로 불러올수 있다.

하지만 let & const는 함수가 아닌 블록({})안에서만 지역적으로 사용할 수 있다.

오류를 대비해서 var는 지양하고 let & const 를 사용하길 권장한다.

728x90
반응형

'개발 > html, css, js' 카테고리의 다른 글

[JS] 자바스크립트의 메모리 관리 (가비지 컬렉터)  (0) 2023.03.07
[30일 챌린지 Day-17] 관사 제외하고 정렬하기  (0) 2022.08.11
[30일 챌린지 Day-16] Mouse Move Shadow  (0) 2022.08.11
[30일 챌린지 Day-15] LocalStorage  (0) 2022.08.11
[30일 챌린지 Day-13] scroll event  (0) 2022.08.09
'개발/html, css, js' 카테고리의 다른 글
  • [JS] 자바스크립트의 메모리 관리 (가비지 컬렉터)
  • [30일 챌린지 Day-17] 관사 제외하고 정렬하기
  • [30일 챌린지 Day-16] Mouse Move Shadow
  • [30일 챌린지 Day-15] LocalStorage
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    컨테이너
    명령어
    mysql
    블록체인
    프로그래머스
    React
    nodejs
    node
    30일챌린지
    erc20
    js
    go
    html
    하이퍼레저
    CSS
    go언어
    ERC721
    30일 챌린지
    node.js
    도커
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[JS] var, let, const 차이
상단으로

티스토리툴바