• Immutable.Map

    Immutable.Map

    Map是JavaScript对象结构的不可变版本。 由于JavaScript对象具有简洁的对象字面量语法,它通常用作键值存储,keystring类型。 此模式紧跟map数据结构。 让我们重温前面的例子,但改用Immutable.Map

    1. import * as Immutable from 'immutable';
    2. let movie1 = Immutable.Map<string, any>({
    3. name: 'Star Wars',
    4. episode: 7
    5. });
    6. let movie2 = movie1;
    7. movie2 = movie2.set('episode', 8);
    8. console.log(movie1.get('episode')); // writes 7
    9. console.log(movie2.get('episode')); // writes 8

    不是直接将对象字面量绑定到movie1,而是将其作为参数传递给Immutable.Map。 这改变了我们如何与movie1的属性交互。

    要获取属性的值,我们调用get方法,传递我们想要的属性名称,就像我们如何使用对象的字符串索引器。

    要设置属性的值,我们调用set方法,传递属性名和新值。 注意,它不会改变现有的Map对象 - 它返回一个带有更新属性的新对象,因此我们必须将movie2变量重新绑定到新对象。