对象字面量适合配置项、api请求体等轻量场景,应使用合法键名、简单值类型,避免方法嵌入,推荐嵌套结构表达层级关系并配合解构提升效率。

直接用对象字面量就能快速搭出结构清晰、可读性强、便于传输的数据对象,不需要函数封装或类定义,特别适合配置项、API请求体、状态快照这类轻量场景。
明确属性边界,避免动态拼接
提前规划好字段名和类型,用固定键名提升可维护性。键名尽量使用合法标识符(不带空格、不以数字开头),避免引号包裹;值保持简单直接——字符串、数字、布尔值、数组或嵌套对象即可。
- ✅ 推荐写法:
const user = { id: 101, name: "Lily", isActive: true, tags: ["admin", "vip"] }; - ❌ 避免写法:
const user = { "user-id": 101, "full name": "Lily" };(JSON序列化时需双引号,且不易访问)
嵌套结构表达层级关系
当数据天然有分组逻辑(比如地址、权限、元信息),用嵌套对象比扁平化命名更直观,也利于后续扩展。
- 例如订单对象:
const order = { id: "ORD-2026-789", customer: { name: "Tom", email: "tom@example.com" }, items: [{ sku: "A123", qty: 2 }], total: 49.99 }; - 注意:嵌套不宜过深(一般不超过3层),否则影响可读性和序列化稳定性。
方法与数据分离,保持纯数据特性
对象字面量主要用于承载数据,不是行为容器。如果需要操作逻辑,应单独定义函数,而不是把方法塞进传输对象里。
- ✅ 数据对象保持干净:
const config = { timeout: 5000, retries: 3, endpoint: "/api/v1/data" }; - ✅ 行为由外部函数处理:
function sendRequest(cfg) { fetch(cfg.endpoint, { timeout: cfg.timeout }) } - ❌ 不建议:
const config = { ..., send() { /* 内联逻辑 */ } }——这会让对象变重,且无法被JSON.stringify()安全序列化。
配合解构与速记语法提升开发效率
利用ES6的速记属性和解构赋值,能大幅减少重复代码,尤其在构造参数对象或提取响应字段时。
- 速记写法:
const name = "apple", price = 2.5; const product = { name, price };等价于{ name: name, price: price } - 解构提取:
const { id, name, status } = response.data;直接获取关键字段,无需response.data.id层层访问 - 适用于前端向后端提交表单、初始化组件props、记录埋点事件等高频场景。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











