📅  最后修改于: 2023-12-03 15:06:08.658000             🧑  作者: Mango
Javascript 中的 {}
是一个对象字面量 (object literal) 表示语法。它用于创建一个新的对象并在对象初始化时定义对象属性。
要创建一个新的对象,可以使用如下语法:
let newObj = {};
这将创建一个名为 newObj
的新对象。这个对象当前没有任何属性,但可以在之后动态添加属性。
对象属性可以通过 {}
对象字面量中不同的属性定义方式来定义。
最常见的方式是使用“键: 值”语法来定义属性。下面是一个示例:
let newObj = {
property1: 'value1',
property2: 'value2',
property3: 'value3'
};
在这个示例中,我们定义了一个名为 newObj
的新对象,并使用“键: 值”语法为其添加了三个属性 property1
、property2
和 property3
。每个键和值之间用冒号分隔,每个属性之间用逗号分隔。
键可以是任何表达式,包括变量、函数调用和计算结果。例如:
let users = [];
let newObj = {
'user' + users.length: {
firstName: 'John',
lastName: 'Doe'
}
};
在这个示例中,我们使用表达式 'user' + users.length
来创建一个新的属性键,它的值为 { firstName: 'John', lastName: 'Doe' }
。
ES6 引入了一种称为计算属性名 (computed property names) 的方法。它允许您在对象字面量中使用表达式作为属性键。例如:
let users = [];
let newObj = {
['user' + users.length]: {
firstName: 'John',
lastName: 'Doe'
}
};
在这个示例中,我们使用了一个计算属性名,它的值为 'user' + users.length
,结果为 "user0"
。同样地,我们的属性值为 { firstName: 'John', lastName: 'Doe' }
。
访问和修改对象属性的语法通常是通过“点”符号或“方括号”符号。例如,要访问 newObj
的 property1
属性,可以使用:
console.log(newObj.property1); // 'value1'
实际上,这等同于使用方括号符号:
console.log(newObj['property1']); // 'value1'
同样的,要修改 newObj
的 property2
属性,可以使用:
newObj.property2 = 'new value';
console.log(newObj.property2); // 'new value'
使用方括号符号的修改示例:
newObj['property2'] = 'new value';
console.log(newObj['property2']); // 'new value'
要从对象中删除属性,可以使用 delete
关键字,后接对象名和属性名:
delete newObj.property3;
JavaScript 中的 {}
对象字面量语法是定义对象和设置对象属性的首选方法。对象字面量灵活性高,易于使用和阅读。此外,计算属性名和动态属性键提供了额外的灵活性,可以让您根据需要定义对象的属性。