欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Typescript学习笔记2:快速入门Typescript

程序员文章站 2022-07-03 22:10:40
...

Generics 泛型

  • 基本使用

在定义函数和类的时候,使用Generics可以不预先指定类型

// Generics
function echo<T> (arg: T): T{
    return arg;
}
const result = echo(123)

// 泛型也可以传入多个值
function swap<T, U>(tuple: [T, U]): [U, T] {
  return [tuple[1], tuple[0]]
}

const result = swap(['string', 123])

// Generics 可以根据你传参自动推断类型
  • 泛型约束

当你需要传入某些具有特征的参数时,需要约束泛型的类型

// 泛型约束
// 定义一个接口来约束泛型
interface IWithLength {
    length : number;
}
// 在定义泛型的时候去继承我们的接口
function echo2<T extends IWithLength> (arg: T): T{
    return arg;
}
const result2 = echo2('123'); 
const result3 = echo2({length : 0,hight : 2}); 
  • 泛型在其他方面的使用

// 类上面的使用
class Queue<T>{
    private data = [];
    push(item: T){
        return this.data.push(item);
    }
    pop(){
        return this.data.shift();
    }
}
// interface上的使用
interface data<T,U>{
    key : T,
    value : U
}
let map : data<string , string> = {key : '1',value : '1'}

类型别名

给自定义类型取个别名,方便其他地方使用

type stringOrNumber = string | number;
let result: stringOrNumber;

// 字符串字面量
 const str: 'yes' = 'yes'
 const num: 1 = 1
 type Directions = 'Up' | 'Down' | 'Left' | 'Right'
let toWhere: Directions = 'Up'

声明文件

安装声明文件

npm install --save @types/jquery