Immutable.js 使用总结

关于Immutable.is

测试结果:

//测试1
let a={a:1, b:1, c:1};
let b={a:1, b:1, c:1};
var map1 = Immutable.Map(a);//需要转为Immutable数据,在用is比较
var map2 = Immutable.Map(b);
console.log(map1 === map2);//false
console.log(Object.is(map1, map2));//false
console.log(Immutable.is(map1, map2));//true

//测试2
let a={a:{d:2}, b:1, c:1};
let b={a:{d:2}, b:1, c:1};
var map1 = Immutable.Map(a);
var map2 = Immutable.Map(b);
console.log(map1 === map2);//false
console.log(Object.is(map1, map2));//false
console.log(Immutable.is(map1, map2));//false

//测试3
let a={a:[1,2,3], b:1, c:1};
let b={a:[1,2,3], b:1, c:1};
var map1 = Immutable.Map(a);
var map2 = Immutable.Map(b);
console.log(map1 === map2);//false
console.log(Object.is(map1, map2));//false
console.log(Immutable.is(map1, map2));//false
//测试4
let a={a:{d:2}, b:1, c:1};
let b={a:{d:2}, b:1, c:1};
var map1 = Immutable.fromJS(a);
var map2 = Immutable.fromJS(b);
console.log(map1 === map2);//false
console.log(Object.is(map1, map2));//false
console.log(Immutable.is(map1, map2));//true

结果:is用作比较两个引用类型的值是否相等,在数据嵌套的情况下,测试3失效的原因是Map不能做深层次的Immutable转化。对于嵌套的数据结构,转Immutable的时候,使用fromJS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值