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

如何将含any关键字的TypeScript代码转换为JavaScript代码

TypeScript 转原生 JavaScript 实现方法

核心转换规则

你给出的TS代码里两处带any的语法都属于TS专属的编译时类型标注,运行时不会产生任何实际执行逻辑,转换时直接移除TS类型语法即可,不需要新增额外业务逻辑:

  • 第一处function PrivateRoute({ children } : any )里的: any是TS的参数类型注解,作用是标记该入参接受任意类型值。JavaScript是动态类型语言,不需要编译阶段的类型声明,直接删除: any片段即可。
  • 第二处(location.state as any)?.from里的as any是TS的类型断言,作用是告诉TS编译器跳过对location.state的类型校验。JavaScript没有编译阶段的类型检查逻辑,直接删除as any片段即可;代码里的可选链操作符?.是ES2020原生支持的JS语法,可以直接保留。

转换后的等价原生JS代码

function PrivateRoute({ children }) {
    const accessToken = false;
    const loading = false;
    const navigate = useNavigate();
    const location = useLocation();
    const fromLocation = location.state?.from;
    const previousLocation = location.state ? fromLocation : { pathname: '/login' };
    // 剩余原有业务逻辑和TS版本完全一致即可
}

如果你的代码运行环境不支持ES2020可选链语法,可以把location.state?.from替换为location.state && location.state.from,功能完全等价。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:16:00