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 数据并需要在应用中操作它时,这个方法至关重要。

更多推荐