引子
“键值对”的数据结构,之前基本上都是使用 {}
,新的规范中有更合适的选择了。
ES5 方式
基本用法
使用 {}
存储键值对,键的类型只支持两种:String
和 Symbol
。
const obj1 = {
1:'1'};
const obj2 = {
'name':'Tom'};
const mark = Symbol('age');
const obj3 = {
[mark]:19};
console.log(obj1);
console.log(obj2);
console.log(obj3);
结果
上面的 obj1
的键名虽然是一个数字,但会被转换为字符串。
操作
添加/修改
添加和修改使用 .
或 []
的方式:
const obj = {
};
obj.name = 'Tom';
obj['name'] = 'Jim';
对于 Symbol
类型的键值,必须要用 []
的方式才行。
读取
跟添加类似使用 .
或 []
的方式:
const mark = Symbol('age');
const obj = {
name:'Tom',