2017-09-04 18 views
-1

是否有任何聯機工具/ js庫通過將輸入視爲可變表達式來生成帶有Object.assign和數組方法的不可變表達式? 例如:不可變的JavaScript表達式生成器

var obj = {a:1}; 

//Input 
var obj2 = obj; 

//Output 
var obj2 = Object.assign({}, obj); 
+0

更多有用的信息他們應產生。減速器基本上是您的業務邏輯。 – wheeler

+0

你好。你的問題是無關緊要的,很可能會很快關閉。我建議您完成我們的[遊覽](https://stackoverflow.com/tour)並閱讀我們的[幫助中心](https://stackoverflow.com/help)以瞭解本網站的主題。 –

+0

「表達」是什麼意思?你能舉一些預期的輸入和輸出的例子嗎? – Bergi

回答

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

+1

「*沉默是金*」 - 你應該總是[''使用嚴格的''模式](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode),以便它'會在你的臉上喊:-) – Bergi

+1

我期待一些像生成代碼的工具那樣的譯碼器。但這很酷。 –