📌 type
7 + '7' = '77' // 숫자 + 문자 = 문자
7 - '4' = 0 // 숫자 - 문자 = 숫자
7 + true = 8 // true를 1로 취급
'7' + true = '7true' // true를 문자로 취급
이런 별난 상황도 존재! 이런 별난 특성을 암기하지말고, 기본에 충실한 베이직한 코딩 습관을 기르자.. 나만 힘들어진다.
📌 const
변수선언 키워드 const 의 가장 큰 특징은 "재할당이 금지된다." 이다.
헷갈릴만한 특징들을 정리해보겠다.
1️⃣ "'const'로 선언된 배열의 경우 새로운 요소를 추가하거나 삭제할 수 있다."
const arr = [];
const pushnum = 7;
arr.push(pushnum);
console.log(arr) // [7]
// 재할당 해보겠습니다.
arr = [7] // Uncaught TypeError: Assignment to constant variable.
배열은 변수에 주소를 할당하기 때문에 새로운 요소를 추가하거나 삭제해도 상관없다!
2️⃣ "'const'로 선언된 객체의 경우, 속성을 추가하거나 삭제할 수 있다."
const 동욱 = { 직업:'프로그래머' };
동욱.나이 = 25;
동욱.대학 = '상명대학교'; // 프로퍼티 추가
delete 동욱.대학; // 프로퍼티 삭제
console.log(동욱.대학) // undefined : 삭제된 프로퍼티 조회하면 undefined!
// 재할당 해보겠습니다.
동욱 = { 직업:'프로그래머', 나이:25, 대학:'상명대학교' } // Uncaught TypeError: Assignment to constant variable.
객체도 배열과 마찬가지로 변수에 주소를 할당하기 때문에 새로운 프로퍼티를 추가하거나 삭제해도 상관없다!
❓ 재할당이 안됨에도 const 를 쓰는 이유는 무엇일까 ❓
https://poiemaweb.com/es6-block-scope 참고해서 공부하자.. 나중에 var,let,const의 차이점도 정리하자
2023.01.04 - [코드스테이츠/내가 모르는 것] - var,let,const 과 스코프,호이스팅 var,let,const의 차이점 정리한 글
'코드스테이츠 > 헷갈리는거 정리' 카테고리의 다른 글
HTTP,AJAX,XHR,XML,JSON 정리 (0) | 2023.01.19 |
---|---|
var,let,const 과 스코프,호이스팅 (0) | 2023.01.04 |
원시 자료형과 참조 자료형 (0) | 2023.01.02 |
배열 복사하기 (0) | 2023.01.02 |
GUI 와 CLI (0) | 2023.01.01 |