본문 바로가기

전체 글

(39)
4.3 가비지 컬렉션 📢 메모리 관리 방법 중 하나. 객체가 생성되었을 때 자동으로 메모리를 할당하고 쓸모 없어졌을 때 자동으로 해제한다. 가비지 컬렉션 기준 ◾️ 도달 가능성(reachability)라는 개념을 사용해 메모리 관리를 수행한다. ◾️ 어떻게든 접근하거나 사용할 수 있는 값. 도달 가능한 값은 메모리에서 삭제되지 않는다. ◾️ 루트(root) 값의 예시 (생성 되었을 때부터 도달 가능한 값) 1. 현재 함수의 지역 변수와 매개변수 2. 중첩 함수의 체인에 있는 함수에서 사용되는 변수와 매개변수 3. 전역 변수 ◾️ 루트가 참조하는 값이나 체이닝으로 루트에서 참조할 수 있는 값은 도달 가능한 값이 된다. ◾️ 자바스크립트 엔진 내에선 가비지 컬렉터가 끊임없이 동작한다. 모든 객체를 모니터링 하고, 도달 할 수 없..
4.2 객체 - 참조에 의한 객체 복사 참조에 의한 객체 복사 📢 객체는 참조에 의해(by reference) 저장되고 복사된다. ◾️ 변수엔 객체가 그대로 저장되는 것이 아니라, 객체가 저장 되어 있는 '메모리 주소'인 객체에 대한 '참조 값'이 저장된다. ◾️ 객체는 메모리 내 어딘가에 저장되고, 변수에는 객체를 '참조❗️'할 수 있는 값이 저장된다. ◾️ 객체가 할당된 변수를 복사할 땐 객체의 참조 값만 복사되고 객체는 복사되지 않는다. ◾️ 변수는 두 개 이지만 각 변수엔 동일 객체에 대한 참조값이 저장된다. let user = { name: "suzu" }; let admin = user; admin.name = 'ruru'; console.log(user.name); // ruru 참조에 의한 비교 📢 객체 비교 시 피연산자인 두 ..
4.1 객체 - 객체 객체 📢 키로 구분된 데이터 집합이나 복잡한 개체(entity)를 저장할 수 있다. 객체의 생성 ◾️ 객체생성자 let user = new Object(); ◾️ 객체 리터럴 let user = {}; 리터럴과 프로퍼티 ◾️ Property → 키(key) : 값(value)로 구성 ◾️ Property를 추가, 삭제할 수 있다. ◾️ Property의 값(value)엔 모든 자료형 가능 ◾️ 여러 단어를 조합해 Property 이름을 만든 경우에는 따옴표로 묶어줘야 한다. ◾️ 마지막 Property 끝은 쉼표로 끝날 수 있다. (trailing, hanging쉼표) let user = { name: "suzu", age: 25, "one two": 12, }; delete user.age; // pr..