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

TypeScript 中如何为 Navigator 厂商专属属性做类型声明?

解决方案

1. 扩展Navigator类型(推荐方案)

TypeScript 标准的Navigator类型默认没有定义浏览器前缀的mozConnection、webkitConnection属性,你可以通过接口合并补充类型声明:
你可以在项目的全局类型声明文件(比如typings.d.ts)中添加以下代码,或者直接在当前代码文件顶部添加:

declare interface Navigator {
  mozConnection?: NetworkInformation
  webkitConnection?: NetworkInformation
}

其中NetworkInformation就是navigator.connection对应的标准内置类型,不需要额外定义,它已经包含在lib.dom.d.ts中。

2. 给connection添加类型标注

补充完上面的类型声明后,就可以正常标注类型了:

const connection: NetworkInformation | undefined = 
  navigator.connection || navigator.mozConnection || navigator.webkitConnection;

3. 临时快速解决(不推荐)

如果只是临时调试不想扩展全局类型,可以直接用类型断言绕开检查:

const connection = 
  navigator.connection || 
  (navigator as any).mozConnection || 
  (navigator as any).webkitConnection;

该方案会丢失类型检查,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:45:04