Notice
Recent Posts
Recent Comments
Link
On a couch
[코어자바스크립트] 01 데이터타입 메모 본문
Point 1.
변수는 변경 가능한 데이터가 담길 수 있는 공간이고, 식별자는 그 변수의 이름이다.
원시형 데이터타입도 결국 '데이터가 저장되어 있는 주솟값'을 참조한다. (한 단계)
참조형 데이터타입은 ''데이터가 저장되어 있는 주솟값' 을 참조하는 배열/객체의 주솟값'을 참조한다. (두 단계)
보통 초심자들에게는 여기서 한 단계씩을 빼고 설명해주느라 약간의 부정확성이 생긴다고 한다.
Point 2.
깊은 복사 : 배열/객체의 껍데기와 내부 데이터의 주솟값이 모두 달라지는 복사
얕은 복사 : 배열/객체의 껍데기만 새 주솟값을 갖고, 내부 데이터의 주솟값은 여전히 예전의 것을 공유하는 복사
참조형 데이터를 복사하는 메서드는 보통 current depth에서만 주솟값을 교체하므로,
깊은 복사를 하고 싶다면 재귀적으로 모든 내부 데이터에 새 주솟값을 부여해야 한다.
Point 3.
undefined에는 두 가지 종류가 있다.
(1) undefined를 할당한 요소
(2) 아예 비어있는 요소 == 메모리만 마련해 놓고 값은 대입하지 않은 변수
let arr = [];
arr.length = 3;
console.log(arr); // [empty x 3]
이 경우 배열을 순환하는 메서드 등에서 해당 idx는 아예 존재하지 않는 것으로 치고 순환하지 않는다.
아무것도 할당하지 않은 채로 있다가, 이후 해당 변수에 접근하려고 하면 어쩔 수 없이 undefined를 반환한다.
'프론트엔드 공부 > Javascript 읽기' 카테고리의 다른 글
[TIL] Generator 함수 (미완) (0) | 2022.09.18 |
---|---|
[코어자바스크립트] 02 실행컨텍스트 메모 (0) | 2022.08.03 |
[Eloquent] 1부 <언어> 필기 (0) | 2022.03.06 |