2015-12-13 4 views
5

Czekam na dokumentacji Immutable.js, zwłaszcza następujące:Clone nowy obiekt po prostu poprzez przypisanie obiektu do zmiennej przy użyciu Immutable.js

var map1 = Immutable.Map({a:1, b:2, c:3}); 
var clone = map1; 

ale jestem zdezorientowany, jak po prostu przypisanie mapy1 do klonowania tworzy raczej klon niż odniesienie?

Aktualizacja:. Stan docs „Jeśli obiekt jest niezmienny, to może być«skopiowane»po prostu poprzez kolejne odniesienie do niej zamiast kopiowania całego obiektu Ponieważ odwołanie jest znacznie mniejsza niż samego obiektu, powoduje to oszczędności w pamięci i potencjalny wzrost szybkości wykonywania programów, które opierają się na kopiach (takich jak cofnięcie stosu). "

Właśnie przetestowałem to w jsbinie chociaż, i klon robi === map1. Myślę, że ich użycie słowa "klon" w dokumentach jest trochę mylące.

+0

Czy "map1" nie jest klonem obiektu, który przekazałeś? –

Odpowiedz

2

Od Immutable.Map jest niezmienny, pojęcie klonowania jest przestarzałe. Chodzi o to, że nie musisz się martwić o klonowanie, czy nie, to nie ma znaczenia.

Dokumenty są rzeczywiście mylące, a nawet stanowią odniesienie, a nie klon. Efekt klonowania byłby taki sam.

Powiązane problemy