You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中能否在单条语句内声明函数并为其附加自定义属性?

你设想的这种类对象字面量的写法在原生JavaScript中是不支持的,不过我们可以通过Object.assign实现单条语句同时创建函数、挂载自定义属性的需求。

最简实现

const fn = Object.assign(() => {}, {
  a: 'a'
})

这个写法的原理是,Object.assign会把第二个参数里所有的可枚举属性,批量挂载到第一个参数(也就是我们创建的箭头函数)上,最终返回处理完成的函数对象,全程只需要一条语句。

如果需要给函数挂载带特殊配置的属性(比如只读属性、访问器属性等),可以改用Object.defineProperties实现:

const fn = Object.defineProperties(() => {}, {
  a: {
    value: 'a',
    writable: false, // 设为不可修改
    enumerable: true
  }
})

内容的提问来源于stack exchange,提问作者user1283776

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:54:02