this.add=function(key,item){ if(this.collection[key]!=정의되지 않은) 반환 정의되지 않은 반환; this.collection[key]=항목; 반환 ++this.count} 이러한 컬렉션은 일반 배열 및 개체에 대한 전문적인 대안을 제공합니다. 여기에는 모든 변경 내용을 관찰하고, 모든 컬렉션에 공통 인터페이스를 가지며 Node.js와 브라우저 모두에서 작동하는 기능이 포함됩니다. 이 장에서는 인덱스 값으로 정렬된 데이터 컬렉션을 소개합니다. 여기에는 배열 개체 및 TypedArray 개체와 같은 배열 및 배열과 같은 구문이 포함됩니다. 길이 속성은 컬렉션의 요소를 반복하려는 경우에 유용합니다: MDN에는 개체 또는 키 컬렉션사용 시기를 결정하는 좋은 질문 목록이 있습니다. 필요한 메서드를 가진 수집 개체. 데이터는 연관 배열에 내부적으로 저장할 수 있습니다. 추가 및 제거 메서드가 컬렉션의 항목 수 수를 자동으로 유지한다는 점을 확인합니다. 또한 카운트가 직접 액세스할 수 있기 때문에 이 스키마를 물리치면 패배할 수 있습니다. 카운트를 보호하려면 클로저를 사용하여 비공개로 만들고 getCount 메서드를 제공합니다. 값이 항상 키에서 집합에 대한 맵과 같은 특정 컬렉션인 경우 편리할까요? 예를 들어 removeAll을 사용하여 컬렉션을 지울 수 있습니다. 항목의 정의를 항목(키, 항목)으로 확장하고 사용자가 키와 연결된 항목을 변경할 수 있도록 허용하여 변경 가능한 컬렉션을 만들 수 있습니다. 더 나은 가비지 수집을 얻기 위해 이터리를 희생할 수 있습니까? 제거 방법은 쉽게 만들 수 있지만 이 경우 제거할 컬렉션 내에 실제로 제거할 키가 있는지 확인해야 합니다.

맵/세트가 DOM에서 이미 제거된 DOM 요소와 같이 더 이상 필요하지 않은 큰 개체를 참조하는 경우 비용이 많이 들 수 있습니다. HTMLCollection 개체는 HTML 요소의 배열과 같은 목록(컬렉션)입니다. 우리가 필요로하는 첫 번째 방법은 연결된 키 아래에 새 항목을 추가하는 Add (키, 항목)입니다. 모든 컬렉션을 사용하면 중복 키를 허용할지 여부를 결정해야하지만 대부분의 경우 모든 키가 고유하다는 제한을 추가하는 것이 더 간단하고 논리적입니다 : Map은 첫 번째 데이터 구조 / 컬렉션입니다. 맵은 모든 유형의 키와 값의 모음입니다. 새 맵을 만들고, 값을 추가/제거하고, 키/값을 반복하고, 크기를 효율적으로 결정할 수 있습니다. 다음은 중요한 방법입니다: 컬렉션 속성은 키, 값 쌍을 저장하는 데 사용할 내부 연관 배열입니다. 액세스 권한을 제한하려는 경우 클로저를 기반으로 하는 표준 기술을 사용하여 비공개로 만들 수 있습니다. WeakSet 개체는 개체의 컬렉션입니다. WeakSet의 개체는 한 번만 발생할 수 있습니다. WeakSet의 컬렉션에서 고유하며 개체는 열거할 수 없습니다.

컬렉션의 요소는 인덱스 번호로 액세스할 수 있습니다. 맵 개체의 한 가지 차이점은 WeakMap 키가 열거할 수 없다는 것입니다(즉, 키 목록을 제공하는 방법은 없습니다). 이 경우 목록은 가비지 수집 상태에 따라 달라지며 비결정론을 도입합니다. JavaScript 개체 속성 키는 다양한 데이터 형식의 키/값 쌍의 컬렉션으로 사용할 수 있는 기능을 제한하는 문자열이어야 합니다. 물론 다른 데이터 형식을 문자열로 강제 변환/문자열화할 수 있지만 추가 작업이 추가됩니다. 이를 해결하기 위해 ES6에서는 WeakMap 및 WeakSet이라는 두 가지 새로운 약한 컬렉션을 소개합니다. 이러한 ES6 컬렉션은 더 이상 메모리에서 지울 필요가 없는 개체를 허용하기 때문에 `약함`입니다.

Read all articles in Uncategorized