• xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!


    Immutable.js 实现原理

    Immutable collections for JavaScript

    v4.0.0-rc.12 released on Oct 31, 2018

    https://github.com/immutable-js/immutable-js/releases

    https://immutable-js.github.io/immutable-js/

    不变的数据一旦创建就无法更改,从而导致应用程序开发更加简单,无防御性复制,并能够以简单的逻辑实现高级的备忘和更改检测技术。
    持久数据提供了一个可变API,该API不会就地更新数据,而是总会产生新的更新数据。

    Immutable.js 提供了许多持久不变数据结构,包括:List, Stack, Map, OrderedMap, Set, OrderedSet 和 Record 。

    $ yarn add immutable
    
    $ npm i -S immutable
    
    
    const { Map } = require('immutable');
    
    const map1 = Map({ a: 1, b: 2, c: 3 });
    const map2 = map1.set('b', 50);
    
    map1.get('b') + " vs. " + map2.get('b'); 
    // 2 vs. 50
    
    

    Performance tradeoffs

    性能折衷

    尽管值相等在许多情况下很有用,但它具有与引用相等不同的性能特征。
    了解这些折衷方案可以帮助您决定在每种情况下都应使用哪种方法,尤其是在用于记忆某些操作时。

    比较两个集合时,价值相等可能需要考虑每个集合中每个项目的时间复杂度为O(N)。
    对于大量的价值收集,这可能会成为一项昂贵的操作。 尽管如果两者不相等且几乎不相似,则可以很快确定不平等。
    相反,在比较两个具有引用相等性的集合时,仅需要比较对内存的初始引用,这不是基于集合的大小,而是具有O(1)的时间复杂度。
    检查引用是否相等总是非常快,但是仅由于两个集合不是引用相等的,并不排除它们可能是值相等的可能性。

    React.PureComponent

    immutable objects 便于快速比较嵌套的数据

    https://reactjs.org/docs/react-api.html#reactpurecomponent

    refs



    ©xgqfrms 2012-2020

    www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


  • 相关阅读:
    Functors in OpenCV
    绘图及注释
    矩阵操作
    图像与大数组类型
    OpenCV的数据类型
    OpenCV入门
    去掉微信公众号里面的菜单栏
    解决python语言在cmd下中文乱码的问题
    解决python无法安装mysql数据库问题
    微信分享功能出现签名错误功能导致的原因
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/13900898.html
Copyright © 2020-2023  润新知