![](/img/trans.png)
[英]Why can't we add properties to a function object inside function body like we do for object literals in javascript?
[英]Can we add properties to immutable object in JavaScript?
一個對象就像:
const obj = [{name: 'Alex', age: 20}, {name: 'James', age: 22}];
該對象從Immutable.js是不可變的。
是否可以為每個對象添加一個新密鑰? 例:
const obj = [{name: 'Alex', age: 20, city: 'New York'}, {name: 'James', age: 20, city: 'Rome'}];
並非一成不變。 但這沒關系,您可以將所有屬性復制到新結構中,並以這種方式添加所需的內容:
const newData = obj.map(person => ({
...person,
city: someLogicToDetermineCity(person)
}))
function someLogicToDetermineCity(person) {
// logic based on person
return city
}
const
不會創建不變性-只是意味着創建后分配給它的引用以后不能更改(這僅意味着您不能為其分配新值)。
請參閱以下示例:
const a = {} a = { name: "peter" } // => TypeError: invalid assignment to const `a'
但是它沒有對分配財產問題a
:
const a = {} a.name = "peter" console.log(a); // => { "name": "peter" }
Array
對象也是如此:
const arr = [{}] arr.push(1); arr[0].name="peter" console.log(arr); // [ // { // "name": "peter" // }, // 1 // ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.