是否有任何在线工具/ js库通过将输入作为可变表达式生成具有Object.assign和数组方法的不可变表达式? 例如:
var obj = {a:1};
//Input
var obj2 = obj;
//Output
var obj2 = Object.assign({}, obj);
编辑:我发现immutablejs可以轻松使用不可变对象。但语法看起来有点难以适应。
答案 0 :(得分:1)
事实证明,现在可能无法实现的目标,即在JavaScript中创建不可变对象,除了支持此功能的现代版本的JavaScript之外,您不需要任何其他内容。这是一个例子:
var obj = {"a":1};
//Input
var obj2 = obj;
Object.freeze( obj2 );
console.log( Object.isFrozen( obj2 ) );
// silence is golden; can't do this:
obj2.foo = "fooey";
console.log( obj2 );
在MDN
查看更多有用的信息