1. let - 호이스팅이 일어나지 않는 것은 아니다.
변수를 메모리에 할당하고, 선언하는 과정 때문에 마치 호이스팅이 일어나지 않는 것 처럼 보이지만,
block 스코프 내에서 호이스팅이 일어난다.
const a = () => {
console.log(foo); /** --> Uncaught ReferenceError: Cannot access 'foo' before initialization 발생 */
let foo;
console.log(foo);
};
a();
2. const - '객체'의 변경을 보호하는 것이 아니다.
const라는 이름 때문에 착각하기 쉽다.
변수의 재선언이 불가능 한것은 맞지만,
할당되는 값이 객체일 경우, 그 객체의 내용의 변경(프로퍼티의 추가, 변경, 삭제)을 막아주지는 않는다.
const foo = {
name: 'foo-name'
};
foo.name = 'foo-name-update';
foo.name2 = 'new-name';
console.log(foo);
'Dev- > java script, jQuery, Ajax' 카테고리의 다른 글
자바스크립트 화살표 함수 특징 (0) | 2019.08.13 |
---|---|
ES6 날짜 추출,(배열 비구조화) (0) | 2019.07.30 |
순수 자바스크립트 유휴시간 체크(check idle time) (0) | 2019.07.15 |
es6 export default와 export의 차이 (0) | 2019.06.19 |
자바스크립트 함수형 프로그래밍 (0) | 2019.06.02 |