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

JavaScript是否内置可直接返回传入参数的恒等函数?

JavaScript 有没有内置的恒等函数?

首先明确:ECMAScript 标准中没有内置的通用恒等函数——也就是那种接收任意类型参数、直接返回原参数(不做类型转换或复制)的函数。你自己实现的x => x或者函数声明形式,就是最直接的解决方案。

关于你担心的内存问题

这种极简的箭头函数内存占用可以说是微乎其微,现代 JavaScript 引擎会对这类简单函数做优化,完全不需要担心它会造成额外的性能负担。

为什么不能用Boolean/Number等构造函数?

这些内置构造函数会对输入做类型转换,并非直接返回原参数:

  • 比如Boolean(0)返回false,而不是原参数0;
  • Number('123')返回数值123,而非原字符串'123';
    它们不符合你“直接返回传入参数”的需求。

针对你的使用场景

如果是在布尔数组中检查是否存在true,arr.some(x => x)完全可行——因为布尔数组的元素只有true或false,回调直接返回元素本身,效果和arr.some(Boolean)一致。但如果你需要严格检查是否存在**严格等于true**的值(比如数组里可能有其他真值的情况),应该用arr.some(val => val === true)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:58:10