VueBloghyhero6

TS 声明合并

2025-02-25 / 2024-02-25 / 53次浏览
合并接口

interface Box {
  height: number;
  width: number;
}

interface Box {
  scale: number;
}

let box: Box = { height: 5, width: 6, scale: 10};

合并命名空间,这个用的少

namespace Animals {
    export class Zebra { }
}

namespace Animals {
    export interface Legged { numberOfLegs: number; }
    export class Dog { }
}

namespace Animals {
    export interface Legged { numberOfLegs: number; }

    export class Zebra { }
    export class Dog { }
}

相当于合并导出了

其实扩展这块真的用的不是很多

又翻了下 GPT 这是它给出的说法

在 TypeScript 中,命名空间(namespace)可以被合并,这是 TypeScript 的一个特性。多个具有相同名字的命名空间会被合并到一个单一的命名空间中。合并的结果是这些命名空间的内容会被组合在一起,就像它们最初定义在同一个块中一样。

从代码上来看,合并命名空间的核心在于命名一致,而 TypeScript 会在编译时将它们合并。