美文网首页
9.泛型函数、泛型接口、泛型类、泛型约束

9.泛型函数、泛型接口、泛型类、泛型约束

作者: 我性本傲 | 来源:发表于2020-02-26 16:30 被阅读0次

泛型:不预先确定的数据类型,具体的类型在使用的时候才能确定。
泛型好处:
1.函数和类可以轻松的支持多种类型,增强程序的扩展性
2.不必写多条函数重载,冗长的联合类型声明,增强代码可读性。
3.灵活控制类型之间的约束

泛型函数
function log <T>(value: T): T {
  console.log(value)
  return value
}
调用方式:
(1)log<string[]>(['a','b'])
(2)log(['a','b'])  // 类型断言

泛型类型
type Log = <T>(value: T) => T
let mylog : Log = log
泛型接口
interface Log <T = string> {
  (value : T) : T
 }
let mylog : Log = log 
mylog( '1' )
泛型类
泛型不能应用与类的静态成员: static run ()  报错。
class log <T> {
    run (value : T ) {
         console.log(value)
          return value
    }
}

let log1 = new log<number>()
log1.run(1)
let log2 = new log()   //当不指定类型的时候, run可以传入任意参数
log2.run('111')
泛型约束
interface length{
  length:number
}
function log <T extends length>(value : T) : T {
  console.log(value,value.length)
  return value
}
//  T继承了length接口,表示T受到了一定的约束,不再是任意类型都可以传了。输入的参数不管是什么类型,但是一定要有length属性。
log([1])    
log('123')
log({length:1})

相关文章

  • 【Swift】泛型常见使用

    1、Swift泛型4种 泛型函数泛型类型泛型协议泛型约束 2、泛型约束3种 继承约束:泛型类型 必须 是某个类的子...

  • Swift 泛型

    泛型函数 泛型类型 泛型约束

  • typescript入门-泛型

    基础定义 泛型接口 泛型类 泛型约束 使用类类型

  • TypeScript 泛型

    泛型函数 使用 数组 类 泛型约束

  • 9.泛型函数、泛型接口、泛型类、泛型约束

    泛型:不预先确定的数据类型,具体的类型在使用的时候才能确定。泛型好处:1.函数和类可以轻松的支持多种类型,增强程序...

  • TS 泛型+装饰器

    typescript 中的泛型 泛型的定义泛型函数泛型类泛型接口 泛型:软件工程中,我们不仅要创建一致的定义良好的...

  • 泛型函数、泛型接口、泛型类、泛型约束

    很多时候我们需要一个函数或者一个类支持多种数据类型。 泛型: 概念:不预先确定的数据类型,具体的类型在使用的时候才...

  • swift泛型整理

    swift泛型知识主要包括:泛型函数、泛型协议、泛型类型、泛型约束。 一、泛型函数。 如:一个交换两个变量值的函数...

  • Kotlin语言(六):泛型

    1、泛型类 2、泛型函数 3、泛型上限 4、泛型擦除 5、泛型投射 6、星号投射

  • 泛型的使用

    泛型有三种使用方式,分别为:泛型类、泛型接口、泛型方法 泛型类 泛型接口 泛型通配符 泛型方法 静态方法与...

网友评论

      本文标题:9.泛型函数、泛型接口、泛型类、泛型约束

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