JavaScript对象是存储键值对的结构,由属性和方法组成,用{}定义;可通过点号或方括号访问属性;访问不存在属性返回undefined,推荐用可选链操作符安全访问;对象可动态增删改属性。

JavaScript 对象是一种用于存储键值对(key-value)的数据结构,可以看作是属性和方法的集合。它用来表示现实世界中的事物,比如一个用户、一本书或一次网络请求,每个对象都有自己的状态(属性)和行为(方法)。
对象的基本结构
对象用花括号 {} 定义,内部由多个“属性名: 值”组成,属性名可以是字符串或标识符,值可以是任意类型(数字、字符串、函数、其他对象等)。
例如:
const person = {name: "张三",
age: 28,
isStudent: false,
greet: function() { return "你好!"; }
};
访问对象属性的两种方式
JavaScript 提供两种常用语法来读取或修改对象属性:
立即学习“Java免费学习笔记(深入)”;
-
点号语法(.):适用于属性名是合法标识符(如 name、age、greet),写法简洁直观。
例如:person.name 返回 "张三",person.greet() 调用方法。 -
方括号语法([]):适用于属性名含特殊字符、空格、变量名,或需要动态计算属性名。
例如:person["full name"](含空格)、person[propertyName](propertyName 是变量)。
注意属性访问的边界情况
访问不存在的属性不会报错,而是返回 undefined。这容易引发隐性 bug,建议在使用前做安全检查:
- 用 obj?.prop(可选链操作符)避免报错,比如 person?.address?.city
- 用 obj && obj.prop 或 typeof obj.prop !== 'undefined' 判断是否存在
- 用 in 操作符检查属性是否属于该对象(包括继承属性):'name' in person → true
修改与添加属性
对象是可变的,可以直接赋值新增或更新属性:
- person.job = "前端工程师" —— 添加新属性
- person.age = 29 —— 修改已有属性
- delete person.isStudent —— 删除属性(不常用,慎用)











