이 기사는 js 데이터 구조 유형 확장 immutable-js(코드 예제)의 사용에 대한 소개를 제공합니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.
java, .net 등의 강력한 형식의 언어와 비교할 때 js와 js의 큰 차이점 중 하나는 데이터 구조가 배열과 객체일 뿐이고 모두 동적으로 가변적이라는 점입니다. 반면 java는 List, 설정 및 매핑. 따라서 js에서는 이러한 데이터 구조를 사용하기 위해 immutable-js가 탄생했습니다.
immutable-js는 JavaScript의 불변 컬렉션, 즉 일단 생성되면 변경할 수 없는 데이터 유형을 확장합니다. 이를 통해 애플리케이션 개발, 무방비 복제가 단순화되고, 고급 메모리 체계가 활성화되며, 더 간단한 논리를 사용하여 업데이트를 확인합니다. 영구 데이터는 데이터를 제자리에서 업데이트하지 않지만 새로 업데이트된 데이터를 생성하는 수정 가능한 API를 제공합니다.
1. 목록: JavaScript의 배열과 유사
2. 맵: 순서가 지정되지 않은 키-값 쌍((키, 값) 쌍) 컬렉션
3.
4. 세트: 중복 값이 없는 컬렉션
5. OrderedSet: 순서가 지정된 세트
6. 스택: 요소 추가 및 제거를 지원하는 인덱스 세트
7. Seq.Indexed 컬렉션은 단계 크기로 채워집니다. start의 기본값은 0이고, step의 기본값은 1이며, end의 기본값은 무한대입니다. start = end이면 빈 컬렉션이 반환됩니다.
8. Repeat(): 값을 여러 번 반복하는 Seq.Indexed 컬렉션을 반환합니다. 시간이 정의되지 않은 경우 무한 값 값의 Seq 컬렉션을 반환합니다.
9. Record: JavaScript의 Object와 유사하지만 특정 문자열만 키로 받고 기본값을 갖습니다.
10. Seq: 상위 수집 기능(예: 맵, 필터)을 통과하지 않고 효율적으로 연결할 수 있습니다. 중간 컬렉션
11. 컬렉션: 모든 데이터 구조의 기본 클래스
3.1 fromJS: js 데이터를 immutable-js 유형 데이터로 변환
const { fromJS, isKeyed } = require('immutable@4.0.0-rc.9'); fromJS({ a: {b: [10, 20, 30]}, c: 40}, function (key, value, path) { console.log(key, value, path) return isKeyed(value) ? value.toOrderedMap() : value.toList() }) > "b", [ 10, 20, 30 ], [ "a", "b" ] > "a", {b: [10, 20, 30]}, [ "a" ] > "", {a: {b: [10, 20, 30]}, c: 40}, []
3.2는 다음과 같습니다. 두 개체를 비교해보세요
const { Map, is } = require('immutable@4.0.0-rc.9') const map1 = Map({ a: 1, b: 1, c: 1 }) const map2 = Map({ a: 1, b: 1, c: 1 }) assert.equal(map1 !== map2, true) assert.equal(Object.is(map1, map2), false) assert.equal(is(map1, map2), true)
위 내용은 js 데이터 구조 유형 확장 immutable-js 사용 소개(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!