Leo*_*ang 6 javascript typescript
默认的 TS 类型window.Notification是Notification,但由于 Web 通知 API 只有 90% 的浏览器支持,因此应该是Notification | undefined。我最近遇到一个错误,我在使用时window.Notification没有检查它是否已定义。
有没有办法覆盖 的属性window,例如使它们可选?我尝试了这个,但没有成功:
declare global {
interface Window {
Notification?: Notification;
}
}
Run Code Online (Sandbox Code Playgroud)
您无法更改属性的定义,但您可以:
看:
import {Expect, Equal} from "type-testing";
declare global {
type WindowModified = Window & Omit<typeof globalThis, 'Notification'> & {
Notification?: Notification
}
}
declare let window: WindowModified;
type CHECK = Expect<Equal<typeof window.Notification, Notification | undefined>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |