1. 增(添加属性)
let obj = {};
// 添加一个属性
obj.name = 'John Doe';
// 或者使用方括号语法添加属性(这对于动态属性名很有用)
let propName = 'age';
obj[propName] = 30;
console.log(obj); // 输出: { name: 'John Doe', age: 30 }
2. 删(删除属性)
// 使用 delete 关键字删除属性
delete obj.age;
console.log(obj); // 输出: { name: 'John Doe' }
3. 改(修改属性)
// 修改一个已存在的属性
obj.name = 'Jane Doe';
console.log(obj); // 输出: { name: 'Jane Doe' }
4. 查(查询属性)
// 使用点符号或方括号查询属性值
console.log(obj.name); // 输出: Jane Doe
// 使用 in 关键字检查对象是否包含某个属性
if ('name' in obj) {
console.log('对象包含 name 属性'); // 输出: 对象包含 name 属性
}
// 使用 hasOwnProperty 方法检查对象自身(而不是原型链)是否包含某个属性
if (obj.hasOwnProperty('name')) {
console.log('对象自身包含 name 属性'); // 输出: 对象自身包含 name 属性
}
遍历对象属性
在查询对象属性时,您可能还想遍历对象的所有属性。这可以通过 for...in
循环或 Object.keys()
、Object.values()
和 Object.entries()
方法来实现。
// 使用 for...in 循环遍历对象属性
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key, obj[key]); // 输出: name Jane Doe
}
}
// 使用 Object.keys() 获取属性名数组
let keys = Object.keys(obj);
console.log(keys); // 输出: [ 'name' ]
// 使用 Object.values() 获取属性值数组
let values = Object.values(obj);
console.log(values); // 输出: [ 'Jane Doe' ]
// 使用 Object.entries() 获取属性和值对的数组
let entries = Object.entries(obj);
console.log(entries); // 输出: [ [ 'name', 'Jane Doe' ] ]