javascript对象字面量用{}定义,含属性简写(如{name}代替{name:name})、方法简写(如greet(){...}代替greet:function(){...})和计算属性名(如[prefix+'url']:val)。

JavaScript 对象字面量用一对花括号 {} 定义,属性和方法都写在里面,用逗号分隔。核心是“键: 值”的结构,其中值可以是数据,也可以是函数。
定义普通属性(键值对)
属性就是对象的字段,用来存储数据。键名通常是合法标识符,值可以是任意类型。
- 键名是字符串或标识符时,直接写
name: "Alice"或age: 25 - 键名含特殊字符(如短横线、空格)或为数字开头,必须加引号:
"user-id": 101、"full name": "Bob Smith" - ES6 支持属性简写:当变量名与属性名相同时,可省略重复书写,例如
const title = "JS Guide"; const obj = { title };等价于{ title: title }
定义方法(函数类型的属性)
方法本质是值为函数的属性,调用时可通过 obj.method() 执行。
- 传统写法:用
function关键字,如greet: function() { console.log("Hi!"); } - ES6 简写:省略
function和冒号,直接写greet() { console.log("Hi!"); },更简洁且this指向仍为当前对象 - 支持参数、默认值、箭头函数(但注意箭头函数不绑定
this,慎用于需访问对象自身属性的场景)
动态属性名和组合用法
有些键名需要运行时计算,不能写死。
- 用方括号
[]包裹表达式,如const prefix = "api_"; const obj = { [prefix + "url"]: "/v1/data" };→{ api_url: "/v1/data" } - 可结合模板字符串:
[`on${eventName}`]() { ... }动态生成事件处理器名 - 计算属性名不能和属性简写混用,比如
{ [key] }是错的,必须写成{ [key]: value }
不复杂但容易忽略。写对象字面量时,优先用 ES6 简写提升可读性,遇到动态键就加方括号,其余按需加引号或保持简洁即可。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











