JavaScript 对象

2025年4月16日 | 阅读5分钟

JavaScript 中,对象是一个可以包含多个值的变量。它是一个存储值集合的位置。对象是 JavaScript 中最基本的数据类型之一。每个对象都包含属性和类型,它们是一个整体。与原始数据类型不同,对象不是原始的。

例如,拿一个足球来说。足球有重量、形状、颜色和设计等属性。在这种情况下,足球是一个对象,它的重量和形状是它的属性。

同样,在 JavaScript 中,对象具有定义其性质的属性。一个对象可以包含各种类型,例如 字符串数字布尔值数组函数 等。

JavaScript 对象语法

说明

  1. 花括号用于界定对象字面量的开始和结束。
  2. 在这些花括号内,您定义由逗号分隔的键值对。
  3. 每个键都是一个字符串(或 ES6+ 中的符号)。
  4. 每个键后面都有一个冒号,然后是它的值。
  5. 它们可以是任何数据类型,如字符串、数字、布尔值、数组、函数或其他对象。

创建 JavaScript 对象

JavaScript 提供了多种对象构建方式,并且可以实现灵活性和多功能性。JavaScript 中对象构建的不同方法是

  1. 使用对象字面量
  2. 使用 JavaScript 关键字 new
  3. 构造一个构造函数对象

使用对象字面量

对象字面量是 JavaScript 中声明对象的简便方法。它是通过在花括号 {} 中定义键值对来声明对象的过程。

示例

在此示例中,一个人被表示为一个对象,具有三个属性:姓名、年龄和城市。使用冒号 (:) 语法将值分配给每个属性。

使用 new 关键字

您还可以使用带 new 关键字的构造函数来创建实例。构造函数使您能够创建具有相同方法和属性的多个对象。

示例

JavaScript 对象是可变的

JavaScript 对象是可变的,即您可以在初始化对象后更改其属性。这使您能够添加或删除属性,以及更改现有属性。

示例

JavaScript 对象特性

  1. 对象有点棘手,因为它们可以包含任何引用数据类型和简单数据类型的集合。
  2. 引用数据类型用于用引用值标记字符或数字,引用字符或数字引用其位置。
  3. 当一个对象从一个函数传递到另一个函数时,此指针指向对象的位置。
  4. 类包含方法和属性。

JavaScript 内置方法

以下是一些常用的 JavaScript 方法

create(): 此方法用于基于原型对象创建 JavaScript 对象,如前所述。

entries(): 此方法接受 JavaScript 对象作为参数,并返回一个包含键值对数组的数组。例如,让我们回顾一下我们的“student”对象。

keys(): keys() 方法以 JavaScript 对象为输入,并返回其属性名称的数组。

values(): 类似地,values() 方法以 JavaScript 对象为输入,并返回其值的数组。

is(): 此方法接受第二个对象作为参数,并检查两个对象是否相等,返回一个布尔值。如果对象相等,则返回“true”;否则,返回“false”。

Object.create()

Object.create() 方法 创建一个新对象并将其链接到现有对象。

代码

立即执行

输出

javascript objects

Object.entries()

Object.entries() 返回对象中包含可枚举属性 [键, 值] 对的数组。

语法

 

代码

立即执行

输出

javascript objects

Object.keys()

Object.keys() 方法会返回数组或类数组对象的属性,即使这些键的顺序是随机的。

代码

立即执行

输出

3

上述代码将借助 object.keys() 方法返回对象的大小。

Object.values()

`Object.values()` 函数返回一个包含对象属性值的数组。它返回对象的值,并将它们以数组形式返回。

代码

立即执行

输出

javascript objects

Object.is()

JavaScript Object.is() 方法是一个有用的函数,它允许您查看两个值是否完全相等。它在不进行类型强制转换的情况下进行此操作,即它按原样查看值。而且,它甚至可以处理一些特殊情况,例如区分正零和负零。

代码

立即执行

输出

javascript objects

结论

在 JavaScript 中,对象对于定义数据值和数据属性至关重要,这是编程的一个基本方面。在 JScript 中,一切皆为对象。程序员利用对象、属性和方法来定义和实现这些对象中的各种概念。


JavaScript Object 方法

序号方法描述
1Object.assign()此方法用于将源对象中的可枚举和自有属性复制到目标对象
2Object.create()此方法用于使用指定的原型对象和属性创建新对象。
3Object.defineProperty()此方法用于描述属性的一些行为属性。
4Object.defineProperties()此方法用于创建或配置多个对象属性。
5Object.entries()此方法返回一个包含键、值对数组的数组。
6Object.freeze()此方法可防止删除现有属性。
7Object.getOwnPropertyDescriptor()此方法返回指定对象中指定属性的属性描述符。
8Object.getOwnPropertyDescriptors()此方法返回给定对象的所有自有属性描述符。
9Object.getOwnPropertyNames()此方法返回一个包含所有属性(可枚举或不可枚举)的数组。
10Object.getOwnPropertySymbols()此方法返回一个包含所有自有符号键属性的数组。
11Object.getPrototypeOf()此方法返回指定对象的原型。
12Object.is()此方法确定两个值是否相同。
13Object.isExtensible()此方法确定对象是否可扩展
14Object.isFrozen()此方法确定对象是否被冻结。
15Object.isSealed()此方法确定对象是否被密封。
16Object.keys()此方法返回给定对象自有属性名称的数组。
17Object.preventExtensions()此方法用于阻止对对象的任何扩展。
18Object.seal()此方法可防止添加新属性,并将所有现有属性标记为不可配置。
19Object.setPrototypeOf()此方法将指定对象的原型设置为另一个对象。
20Object.values()此方法返回值的数组。

下一主题Javascript 数组