[ JavaScript ] ES6 : let 과 const 개념 | let & const 공통점/차이점

2021. 2. 14. 22:13·Archive/Develop
728x90
반응형

 

 

 

ES6 표준에서 처음으로 추가된 특성 중 let 과 const 에 대해 알아보도록 하겠다.

 

 

 

ES6 전에는 var 키워드로 변수와 상수를 선언해 사용했지만, 

 

 

ES6 에서는 let 과 const 를 이용해 변수와 상수를 선언할 수 있게 되었다.

 

 

변수는 let 선언자, 상수는 const 선언자를 이용하면 된다. 

 

 

 

var 선언자를 이용해 선언을 하면, 아래 예시와 같이 재선언을 해도 문제가 발생하지 않았다.

 

 

 

1. let

 

var 를 이용해 변수 재선언을 해보겠다.

 

 

var test = 1;
console.log(test);
var test = 2;
console.log(test);

 

 

 

 

 

 

 

이번에는 let 선언자를 이용해 선언해보겠다.

 

 

 

let test = 1;
console.log(test);
let test = 2;
console.log(test);

 

 

 

 

 

 

 

이렇게 let 은 변수 재선언이 되지 않는다는 것을 알 수 있다.

 

 

 

 

 

2. const

 

 

const 는 호이스팅이 불가능하다.

 

 

아래 코드를 실행하면 undefined 가 나온다.

 

console.log(test)
var test=1;

 

 

 

 

 

이는 자바스크립트가 변수 선언을 console.log() 위에 있는 것 처럼 내부적으로 실행하기 때문이다.

 

마치 아래 코드와 같이 동작한다.

 

 

 

var test;
console.log(test);
test=1;

 

 

 

그런데 const 선언자를 사용해서 할당하면 아래와 같이 오류가 발생하며

 

const 선언에 초기화가 이루어지지 않았다고 알려준다.

 

 

 

console.log(test);
const test=1;

 

 

 

 

 

 

 

 

3. let 과 const 공통점

 

 

둘 다 재선언이 되지 않는다.

 

 

 

 

 

 

 

 

4. let 과 const 차이점

 

 

const 는 재할당이 불가능하다.

 

 

const test =1;
test=2;

 

 

 

 

 

 

5. const 특이점

 

 

만약 아래 코드와 같이 const 변수가 참조형이라면,

개체의 프로퍼티는 변경이 가능하다.

 

 

const food = {
	id :1,
    name : "cookie"
}
food.id=100;
food.name="choco";

console.log(food.id, food.name);

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ JavaScript ] ES6 : TDZ (Temporal Dead Zone) | let 참조에러  (0) 2021.02.15
[ JavaScript ] ES6 : Block scope | var, let 변수 유효범위  (0) 2021.02.15
[ React ] ProtoTypes 설치하기 | ProtoTypes install  (0) 2021.02.13
[ React ] 동적 컴포넌트 생성 | Each child in a list should have a unique "key" prop 에러 해결  (2) 2021.02.12
[ JavaScript ] var & var hoisting(호이스팅)  (0) 2021.02.12
'Archive/Develop' 카테고리의 다른 글
  • [ JavaScript ] ES6 : TDZ (Temporal Dead Zone) | let 참조에러
  • [ JavaScript ] ES6 : Block scope | var, let 변수 유효범위
  • [ React ] ProtoTypes 설치하기 | ProtoTypes install
  • [ React ] 동적 컴포넌트 생성 | Each child in a list should have a unique "key" prop 에러 해결
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    코드업 파이썬 기초 100제
    자바스크립트 객체
    Codeup
    파이썬 문제
    백준
    C++
    파이썬
    코드업
    Django
    docker
    백준 문제풀이
    파이썬 기초
    Git
    자바스크립트 API
    javascript
    파이썬 백준
    oracle db
    오라클
    파이썬 알고리즘
    Oracle
    백준 파이썬
    장고
    비박스
    백준 풀이
    코드업 기초
    자바스크립트
    카카오 100일 프로젝트
    파이썬 기초 문제
    보안뉴스
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ JavaScript ] ES6 : let 과 const 개념 | let & const 공통점/차이점
상단으로

티스토리툴바