
JavaScript 对象通过键值对存储数据,创建后可直接用点号或方括号访问和修改属性。
创建对象的常用方式
最常用的是对象字面量语法,简洁直观:
let person = { name: "张三", age: 25, city: "北京" };
也可用 new Object() 或构造函数(如 Object.create(null)),但日常开发中字面量最主流。ES6 还支持计算属性名和展开运算符:
立即学习“Java免费学习笔记(深入)”;
- let key = "score"; let obj = { [key]: 95 }; → { score: 95 }
- let a = { x: 1 }; let b = { ...a, y: 2 }; → { x: 1, y: 2 }
访问对象属性的两种写法
点号(.)适合已知且合法的标识符属性名;方括号([])更灵活,支持变量、表达式或含特殊字符的键名:
person.name // "张三"
person["age"] // 25
let field = "city"; person[field] // "北京"
person["full-name"] // 若属性含短横线,只能用方括号
注意:访问不存在的属性返回 undefined,不会报错。
修改和添加属性的方法
点号和方括号都可用于赋值,效果一致;新增属性与修改现有属性写法相同:
- person.age = 26; → 修改已有属性
- person.job = "前端工程师"; → 添加新属性
- person["isStudent"] = false; → 同样可添加或修改
删除属性用 delete 操作符:delete person.city;,之后访问返回 undefined。
检查属性是否存在
避免误判 undefined 值,推荐用 in 操作符或 hasOwnProperty:
console.log("name" in person); // true
console.log(person.hasOwnProperty("age")); // true
console.log("toString" in person); // true(继承自原型)
console.log(person.hasOwnProperty("toString")); // false
前者查整个原型链,后者只查对象自身属性。











