javascript对象是什么_如何访问对象属性?

JavaScript对象是存储键值对的容器,常用字面量写法创建;访问属性可用点号(.)或方括号([]),前者限合法标识符,后者支持动态和特殊字符属性名;访问不存在属性返回undefined,null/undefined对象上访问会报TypeError,推荐用可选链(?.)保障安全。

JavaScript 对象是存储键值对(key-value)的容器,用来表示现实中的事物或数据结构,比如一个人、一个订单、一组配置项等。每个“键”(也叫属性名)对应一个“值”,值可以是字符串、数字、函数、数组,甚至另一个对象。

对象的基本写法

最常用的是字面量写法,用花括号 {} 包裹:

const person = { name: "小明", age: 25, isStudent: true };

这里 nameageisStudent 就是属性名,后面的值就是对应的属性值。

两种访问对象属性的方式

访问对象里的值,主要有两种语法:点号(.)和方括号([])

  • 点号访问(.):适用于属性名是合法标识符(比如不带空格、不以数字开头、不含特殊符号)的情况。
    person.name // "小明"
    person.age // 25
  • 方括号访问([]):更灵活,支持动态属性名、含空格或特殊字符的属性名。
    person["name"] // "小明"
    person["full name"] // 如果有这个属性(需用引号)
    const key = "age"; person[key] // 25,适合变量控制属性名

注意几个常见情况

访问不存在的属性不会报错,而是返回 undefined

person.height // undefined

如果对象本身是 nullundefined,再用点号或方括号访问会报错(TypeError),所以实际开发中常配合可选链操作符(?.)使用:

person?.address?.city // 安全访问嵌套属性,避免崩溃

方法也是属性,只是值是函数

对象里存函数,就叫“方法”。调用方式一样:

const car = { brand: "Toyota", start: function() { console.log("引擎启动"); } };
car.start(); // "引擎启动"
car["start"](); // 效果相同

基本上就这些。掌握点号和方括号的区别,再留意一下 undefined 和报错边界,对象属性访问就不复杂但容易忽略细节。