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

ExpressJS中使用JavaScript保留字DELETE作为方法名是否安全?

关于导出delete作为模块方法的实践分析

这样做不属于不良实践,具体原因如下:

  • JavaScript的保留字在作为对象属性名使用时,在现代JS环境(包括Node.js)中完全合法。delete虽是保留字,但你是将其作为module.exports对象的属性赋值,这种写法在ES5及后续规范中是被允许的。
  • Express框架本身就是类似的实现逻辑:app.delete()或router.delete()本质就是把delete作为实例对象的方法名,和你导出module.exports.delete的逻辑一致,并未违反语言规范。
  • 实际使用时,无论是导入后通过handler.delete调用,还是像你示例里的router.delete('/api/v1/:id', handler.delete),都能正常运行,不会出现语法错误。

如果仍有顾虑,也可以用字符串形式定义属性名,效果完全相同:

module.exports['delete'] = deleteHandler;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:50:46