知用网
第二套高阶模板 · 更大气的阅读体验

对象创建表达式:轻松理解编程中的“造物”方式

发布时间:2025-12-13 06:21:09 阅读:292 次

在写代码的时候,你可能经常需要“造”一些东西来用,比如用户信息、商品数据或者一条消息。这些东西在程序里通常以“对象”的形式存在。而怎么快速又直观地把一个对象造出来?这时候就轮到“对象创建表达式”登场了。

什么是对象创建表达式?

简单说,对象创建表达式就是一种在代码中直接创建新对象的写法。它不需要提前定义复杂的类或模板,写起来就像填一张小卡片,把需要的数据填进去就行。这种写法在 JavaScript、C# 等语言里都很常见。

比如你在做一个购物车功能,想临时加一个商品:

const product = { name: "咖啡杯", price: 29.9, inStock: true };

这行代码里的 { name: "咖啡杯", price: 29.9, inStock: true } 就是一个对象创建表达式。你看,没绕弯子,直接把名字、价格、库存状态都写清楚了,对象立马就有了。

和构造函数有啥不一样?

有人会问,不是可以用 new Object() 或者自定义构造函数吗?确实可以,但那样写起来更啰嗦。

比如同样创建一个用户:

const user = new Object();
user.name = "小明";
user.age = 25;
user.active = true;

对比一下简洁的写法:

const user = { name: "小明", age: 25, active: true };

一眼就能看出哪个更省事。对象创建表达式的优势就在于“快”和“清”。尤其是在处理 API 返回数据、配置项或者临时中间值时,特别顺手。

还能嵌套和动态属性?

别以为它只能干点简单的活。复杂结构一样能搞定。比如你要表示一个订单,里面包含多个商品:

const order = {
  orderId: "A1001",
  customer: { name: "李姐", phone: "138****8888" },
  items: [
    { name: "毛巾", qty: 2, price: 15 },
    { name: "牙刷", qty: 3, price: 8 }
  ],
  total: 54
};

这个表达式一口气建了个多层对象,连数组都塞进去了。运行后,order 就可以直接拿来用,比如显示在页面上,或者传给后台。

还有个实用技巧:属性名可以是表达式。比如你想用变量当键名:

const keyName = "email";
const userData = {
  [keyName]: "xiao_ming@example.com"
};
// 结果:{ email: "xiao_ming@example.com" }

这种写法在处理动态字段时特别方便,比如表单提交、配置生成等场景。

实际用在哪?

你每天刷的网页,背后很多数据传递都是靠这种表达式组织的。比如前端调用接口时拼参数:

fetch("/api/login", {
  method: "POST",
  body: JSON.stringify({
    username: inputUser.value,
    password: inputPass.value
  })
});

这里的请求配置和登录数据,全靠对象创建表达式快速组装。没有它,代码会变得又长又难读。

再比如写 Vue 或 React 组件时,data、props、state 的初始化,几乎都在用这种语法。它是现代 JavaScript 开发的“基本功”之一。