美文网首页
typescript中的声明合并

typescript中的声明合并

作者: 我性本傲 | 来源:发表于2020-03-05 15:10 被阅读0次
非函数接口
interface A {
   x: number,
   y: number  // 这样子也可以。
   y: string  // 会报错,也就是说多个接口定义同一个成员,类型必须一致。
}
interface A {
   y: number
}
// 这个时候两个接口会合并成一个接口,即使不在同一个文件也会合并。
let a : A  = {
  x: 1
  y: 1
}

函数接口

每一个函数都会被声明一个函数重载

interface A {
   x: number,
   foo (bar : number) : number           (5)
   foo (bar :  'flag1' )) : number           (2)
}
interface A {
   y: number,
   foo (bar : string) : string                    (3)
   foo (bar : number[]) : number[]         (4)
   foo (bar : 'flag' ) : number                 (1)
}

let a : A  = {
  x: 1,
  y: 1,
  foo (bar :  any ) {  // 需要定义一个更加宽泛的类型去接收,接收的顺利为(1)(2)(3)(4)(5)
      return bar 
  }
}

接收顺序的原则:
1.后面定义的接口优先前面的
2.字面量类型的参数优先

命名空间的声明合并

1.命名空间中也会发生声明合并,但已经export的函数不可以重复使用
2.命名空间与函数,枚举,class类都可以进行合并。
3.命名空间与函数,class类进行合并的时候需要放在它们的后面。

相关文章

  • TypeScript基础入门之声明合并(一)

    转发 ## TypeScript基础入门之声明合并(一) 声明合并 介绍 TypeScript中的一些独特概念描述...

  • typescript中的声明合并

    非函数接口 函数接口 每一个函数都会被声明一个函数重载 接收顺序的原则:1.后面定义的接口优先前面的2.字面量类型...

  • TypeScript——声明合并

    TypeScript中有些独特的概念可以在类型层面上描述JavaScript对象的模型。 这其中尤其独特的一个例子...

  • TypeScript基础入门之声明合并(二)

    转发 ## TypeScript基础入门之声明合并(二) 声明合并 合并命名空间 与接口类似,同名的命名空间也将合...

  • TypeScript基础入门之声明合并(三)

    转发 TypeScript基础入门之声明合并(三) 声明合并 将命名空间与类,函数和枚举合并 命名空间足够灵活,...

  • TypeScript08--声明合并

    声明: TypeScript中的声明会创建以下三种实体之一:命名空间,类型或值。 声明合并: 将相同名字的...

  • typescript声明与合并

    如果定义了两个相同名字的函数,接口或类,那么它们合并成一个类型。这个类型 函数合并 即函数的重载 接口的合并 接口...

  • TypeScript 学习笔记 之 声明合并

    声明合并(declaration merging)指的是 TSC 将多个同名的声明合并到同一个定义中。 基本概念 ...

  • TypeScript中的基本数据类型

    TypeScript中的基本类型 TypeScript中的基本类型: 类型声明类型声明是TS非常重要的一个特点;通...

  • 5. 使用TypeScript

    在本章中,我们将讨论: Deno中的TypeScript概述。在Deno中配置TypeScript。类型和类型声明...

网友评论

      本文标题:typescript中的声明合并

      本文链接:https://www.haomeiwen.com/subject/xtnxrhtx.html