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

如何在d.ts文件中定义delete等保留字作为导出函数?

解决d.ts文件中导出保留字delete作为函数的问题

因为delete是JavaScript/TypeScript的保留字,不能直接作为函数名在声明文件中定义,以下两种方案可以解决这个问题:

方案1:用引号包裹保留字函数名

直接在declare module中将delete函数名用单引号或双引号括起来,TypeScript会识别这个保留字为合法标识符:

declare module "codehooks-js" {
    // ... 其他类型和函数声明保持不变

    // 修改后的delete函数定义
    export function "delete"(route: string, callback: Callback): void;
}

也可以使用单引号,效果一致:

export function 'delete'(route: string, callback: Callback): void;

使用时,若需要导入这个函数,同样可以用引号包裹后取别名:

import { "delete" as deleteRoute } from 'codehooks-js';

// 调用示例
deleteRoute('/api/item/:id', (req, res) => {
    // 处理逻辑
});

方案2:通过导出别名重命名

先定义一个非保留字的函数,再通过export as将其重命名为delete:

declare module "codehooks-js" {
    // ... 其他类型和函数声明保持不变

    // 先定义非保留字的函数
    declare function del(route: string, callback: Callback): void;
    // 导出时重命名为delete
    export { del as delete };
}

这种方式在导入时同样可以直接取别名使用,避免处理保留字的语法问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:40:30