ES6方法简写语法省略function关键字和冒号,如{run(){return'go';}};this绑定不变,不支持箭头函数,支持默认参数、解构与剩余参数,同名方法在严格模式下报错。

直接用方法简写语法,省掉 function 关键字和冒号,让对象内函数定义更紧凑、语义更清晰。
基础写法:去掉 function 和冒号
传统写法需显式声明 function 关键字和冒号;简写后只需写方法名加括号和函数体。
- ES5:
obj = { run: function() { return 'go'; } } - ES6 简写:
obj = { run() { return 'go'; } }
this 绑定保持原样,无需额外处理
简写方法内部的 this 仍指向调用时的对象实例,行为与 ES5 普通方法完全一致。
- 可放心在方法中使用
this.name、this.update()等引用 - 不支持箭头函数写法(
log: () => {}语法非法,且会破坏this)
支持参数、默认值与解构,灵活度不打折扣
方法简写完全兼容现代函数特性,参数列表可自由扩展。
- 带默认参数:
fetch(url, options = {}) { /* ... */ } - 解构入参:
set({ id, name }) { this.id = id; this.name = name; } - 剩余参数:
log(...msgs) { console.log(...msgs); }
避免重复命名,严格模式下会报错
同一对象中不可定义同名方法,否则在严格模式或模块环境下会触发语法错误。
- ❌ 错误示例:
{ init() {}, init() {} } - ✅ 正确做法:重命名或合并逻辑,如
init()和reinit()

















