有没有一种简单的方式来完成以下操作:
例如,可以选择以下任意一种方式:
或:
let o = {}
o['a'] = 1;
o['b'] = 2;
例如,可以选择以下任意一种方式:
let o = {}
o.update({'a': 1, 'b': 2})
或:
let o = {'a': 1, 'b': 2}
const
?更新对象不会使它变得“非const”吗? - David542const
表示变量不会被重新赋值 - 即后面不会出现o = somethingElse
这样的情况。在可能的情况下(95% 的情况下是可能的),声明变量时使用const
是良好的编程习惯,可以使代码更易读。重新赋值和修改不是同一件事。修改是指对对象的 属性 进行赋值,而重新赋值是改变整个变量名所指向的内容。const
仅禁止重新赋值。 - CertainPerformancedir(set())
的操作,并得到['pop','remove',...]
。 - David542Object.keys
usually. If you want the values too,Object.entries
. Only values:Object.values
. Non-enumerable properties too (rare):Object.getOwnPropertyNames
. Properties that are non-enumerable and prototypal: recursiveObject.getOwnPropertyNames
- CertainPerformancefor
循环中枚举它们才能读取吗?例如,如果我只是这样做:console.log(Object.keys, Object.values, Object.values);
它会打印[Function: keys] [Function: values] [Function: values]
。 - David542