기반을 다지자 ES6

Let, Const

Jungsoomin :) 2020. 10. 1. 18:11

  왜 만들어 졌는가.

  • var 는 모두 전역변수이다. : 블록의 변수가 남아있게 된다. 선언 후 변수를 버릴 수가 없다.
if(true) {
    var num = 10;
    console.log(num);
}

console.log(num);
console.log(window.num);


VM3829:3 10
VM3829:6 10
VM3829:7 10
  • var는 같은 변수 값을 다시 선언할 수 있다. : 유동적 값을 받는 변수상수(무결성)구분이 없다.
var num = "중요한 변수";

if(true) {
    var num = "중요한 변수를 바꾸어버림";
}

console.log(num);



VM4067:7 중요한 변수를 바꾸어버림

let 

  • 중복 선언이 불가능하다.
  • 블록 스코프를 가진다.

일반적 자바 변수의 특성을 가지고 있는 것으로 보인다.

if(true){
	let num = 3;
	console.log(num);
	let num = 7; // 중복선언 불가
	num =7; // 값 할당은 가능
}

console.log(num); // 블록 스코프를 가지므로 전역객체에 해당 프로퍼티는 존재치 않음

const

  • 중복 선언이 불가능하다.
  • 블록 레벨 스코프를 가진다.
  • 상수 값으로 값을 재할당할 수 없다, 값을 변경할 수는 있다(?)

왜 그러한가 참 궁금했다. 객체의 틀을 유지한체 값만 변경하는 조작. 객체 틀에 대한 무결성을 지킨다는 의미였다.

 

//const 는 객체 선언시 자주 사용한다.

const obj = {
	key: "value"
}

obj.key = 'value2'; // <<< 값을 변경 할 수는 있다.

 const obj = {}; // 재할당 불가

console.log(obj.key);

'기반을 다지자 ES6' 카테고리의 다른 글

화살표 함수  (0) 2020.10.01
템플릿 리터럴  (0) 2020.10.01
CallBack  (0) 2020.10.01
input 태그 조작  (0) 2020.10.01
HTML 태그 속성 조작  (0) 2020.10.01