Immutable.js에서도 JS가 변하지 않는 데이터 구조를 처리합니다
3381 단어 JavaScriptimmutable-js
변하지 않는 데이터 구조의 특징으로서 원시 데이터 구조는 변하지 않는다.
Immutable = require 'immutable'
map1 = Immutable.Map a: 1, b: 2 # => Map {a: 1, b: 2}
map2 = map1.set a: 3 #=> Map {a: 3, b: 2}
map3 = map1.update (val) -> {foo: val.a} #=> Map {foo: 1}
맵 외에도 리스트, OrdedMap, 셋, OrederedSet, Seq, Range, Record, Stack 등이 있다.내부는 삼각대입니다.흥미로운 것은 Seq와 Range입니다. Filter 함수와 맵 함수를 주어도 get이라고 불릴 때까지 지연됩니다.
Immutable.Seq.of(1,2,3,4,5,6,7,8).filter((i)->i % 2).map((a)->a*a).get 3 #=> 49
(터미널에서 평가를 할 때 실체를 볼 수 있습니다.valueOf가 실시되었기 때문입니다.)Immutable.Range(1, Infinity)
의 무한 목록 표현식도 가능하다.그렇게 평가하면 죽어.Type Script의 유형 정의도 있습니다.
자세한 내용은 설명서http://facebook.github.io/immutable-js/에서 확인하십시오.
기타 실현
mori는 JS로 clojure의 imutable 데이터 구조를 구현한 clojure다.보통 JS부터 사용하기 편하다고 합니다.
swannodette/mori · GitHub
왜 이걸 소개했기 때문에 로고가 최고라고 해요?
Immutable을 계속해서 놀아봅시다.페이스북에는 함수형 뇌의 JS 엔지니어들이 많아서 저와 잘 어울려요.
Reference
이 문제에 관하여(Immutable.js에서도 JS가 변하지 않는 데이터 구조를 처리합니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mizchi/items/19293593f28512ff495d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)