解决用户自定义类名与内置类名冲突的问题

问题描述 投票:0回答:1

我正在 TypeScript 中定义和实现一个

Map
类,它也使用内置
Map
类(带有泛型)。显然,这两个名字有冲突。我可以使用显式命名空间(就像在 Java 中所做的那样)以某种方式导入内置的
Map
还是有其他方法来解决这样的冲突?

export class Map // my map
{
    private readonly items: Map<string, string>; // built-in map
}

我查看了 TS 核心定义文件,但无法弄清楚它们是否使用任何命名空间。

typescript import namespaces
1个回答
1
投票

我自己偶然发现了这个问题,所以在浪费了相当多的时间试图自己找到答案之后,我不妨提供一个答复。

在现代浏览器中,可以通过全局变量“globalThis”访问全局命名空间(例如

globalThis.Map
)。

您需要一个polyfill才能使其在旧浏览器(例如EdgeHTML)中工作。

© www.soinside.com 2019 - 2024. All rights reserved.