JavaScript 对象:一份全面的回顾
JavaScript 对象:一份全面的回顾
JavaScript 对象是基础的数据结构,是更复杂数据类型的基石。它们是一个由属性组成的集合,每个属性都包含一个键和一个值。掌握它们是精通 JavaScript 的关键。🔑
对象基础
对象提供了一种组织相关数据和功能的方式。你可以使用两种主要方法来访问对象的属性:
- 点表示法(Dot Notation):
对象.键
- 方括号表示法(Bracket Notation):
对象['键']
这两种方法都可以用于访问和设置属性。当键名存储在变量中或包含特殊字符时,方括号表示法尤为有用。
const person = {name: "Alice",age: 30
};person.job = "Engineer"; // 使用点表示法添加属性
person["hobby"] = "Knitting"; // 使用方括号表示法添加属性
管理属性
要从对象中移除一个属性,你需要使用 delete
操作符。
const person = { name: "Alice", job: "Engineer" };
delete person.job;
console.log(person.job); // undefined
你可以使用 hasOwnProperty()
方法或 in
操作符来检查对象是否拥有某个属性。hasOwnProperty()
方法检查对象自身的属性(不包括继承的属性),而 in
操作符则检查自身和继承的属性。
console.log(person.hasOwnProperty("name")); // true
console.log("name" in person); // true
对于拥有嵌套属性的对象,你可以通过链式使用点或方括号表示法来逐层深入,访问你需要的数据。
const user = {contact: {phone: {home: "123-456-7890"}}
};
console.log(user.contact.phone.home); // "123-456-7890"
数据类型:原始 vs. 非原始
在 JavaScript 中,数据类型被分为原始(Primitive) 类型和非原始(Non-primitive) 类型。
- 原始类型 是单一的、不可变的值(例如:字符串、数字、布尔值)。
- 非原始类型 是对象(包括数组和函数),它们可以包含多个值,并且是可变的。
对象方法
对象方法是与对象关联的函数。它们作为对象的属性被定义,并可以通过内部的 this
关键字来引用对象本身,从而访问和操作其数据。
const person = {name: "Bob",sayHello: function() {return "你好,我的名字是 " + this.name;}
};
console.log(person.sayHello()); // "你好,我的名字是 Bob"
现代对象特性
现代 JavaScript 提供了处理对象的强大语法。
- 可选链操作符(
?.
):这个操作符让你能安全地访问深层嵌套的属性或方法,而无需担心中间的属性是否存在,从而防止TypeError
的发生。 - 对象解构(Object Destructuring):它允许你用一种简洁、清晰的语法从对象中提取属性并赋值给变量。
使用 JSON
JSON(JavaScript 对象表示法)是一种基于文本的数据交换格式。它是现代 Web 开发的关键部分,通常用于在服务器和 Web 应用之间传输数据。
JSON.stringify()
:将一个 JavaScript 对象转换为 JSON 字符串。这对于存储或传输数据非常有用。JSON.parse()
:将一个 JSON 字符串转换回 JavaScript 对象。当你从 Web 服务器或localStorage
获取 JSON 数据并需要在应用中操作它时,这个方法至关重要。