javaScript对象通过字面量、构造函数或class声明,支持点和方括号两种属性访问方式,可动态增删属性,并利用可选链与空值合并确保安全访问。

javascript 中的对象是一种用于存储键值对的数据结构,广泛应用于数据建模、配置管理以及面向对象编程。正确声明对象并访问其属性是前端开发的基础技能。下面详细介绍 JavaScript 对象的声明方式和属性访问方法。
对象声明的常用方式
在 JavaScript 中,有多种方式可以创建对象,最常见的是对象字面量和构造函数。
1. 使用对象字面量(推荐)
这是最简洁、最常用的对象创建方式:
立即学习“Java免费学习笔记(深入)”;
const person = { name: 'Alice', age: 25, city: 'Beijing' };
2. 使用 new Object() 构造函数
也可以通过内置的 Object 构造函数来创建对象:
const person = new Object(); person.name = 'Bob'; person.age = 30;
3. 使用构造函数自定义类型
适合需要创建多个相似对象的场景:
function Person(name, age) { this.name = name; this.age = age; } const p1 = new Person('Charlie', 35);
4. 使用 es6 的 class 语法
现代写法,语义更清晰:
class Person { constructor(name, age) { this.name = name; this.age = age; } } const p2 = new Person('Diana', 28);
属性访问的两种方式
创建对象后,可以通过两种主要方式访问其属性:点表示法和方括号表示法。
1. 点表示法(.)
适用于属性名是合法标识符的情况:
console.log(person.name); // 输出: Alice person.age = 26; // 修改属性
2. 方括号表示法([])
当属性名包含特殊字符或使用变量时必须使用:
console.log(person['city']); // 输出: Beijing const key = 'age'; console.log(person[key]); // 输出: 25 // 属性名含空格或连字符 const user = { 'full-name': 'John Doe', 'phone number': '123-456-7890' }; console.log(user['full-name']); // 必须用方括号
动态添加与删除属性
JavaScript 对象是动态的,可以在运行时添加或删除属性。
添加属性
person.job = 'Engineer'; person['isStudent'] = false;
删除属性
使用 delete 操作符:
delete person.city; delete person['isStudent'];
注意:delete 成功返回 true,但对某些不可配置属性无效。
属性的安全访问与默认值
访问不存在的属性会返回 undefined,容易引发错误。建议进行安全检查。
使用可选链(?.)避免报错
const address = user?.address?.street; // 如果 user 或 address 为 NULL/undefined,不会报错,返回 undefined
设置默认值
const userName = person.name ?? 'Unknown';
使用 ?? 操作符可为 undefined 或 null 提供默认值。
基本上就这些。掌握对象的声明和属性访问方式,能让你更灵活地处理数据结构。