TS08 TypeScript中的泛型工具

本文介绍了TypeScript中的一些泛型工具的使用,包括类型收窄、属性合并以及如何利用、和等操作符实现不同类型的转换和组合。此外,还提到了在函数类型中的应用。
摘要由CSDN通过智能技术生成

使用is进行类型收窄

function isUser(person: Person): person is User {
  return person.type === 'user'
}

使用&进行属性的合并

使用&操作符可以实现属性合并

type User = {
  name: string
}

type Admin = {
  age: number
}

type Person = User | Admin; 
// 此时 Person 可以包含 name 或者可以包含 age

type Staff = User & Admin;
// 此时 Staff 必须同时包含 name 和age

Partial<Type>

使用Partial<Type>将所有类型属性变成可选

interface Todo {
  title: string;
  description: string;
}

function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
  return { ...todo, ...fieldsToUpdate };
}

const todo1 = {
  title: "organize desk",
  description: "clear clutter",
};

const todo2 = updateTodo(todo1, {
  description: "throw out trash",
});

Partial的实现:

type Partial<T> = { [P in keyof T]?: T[P] };

Required<Type>

Partial相反,将可选属性变为必选

interface Props {
  a?: num
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TSTypeScript)是一种静态类检查的高级编程语言,它是JavaScript的超集。在TS,基础类泛型都是其重要的概念。 基础类指的是TS预定义的简单数据类,例如:number、string、boolean、null、undefined等。基础类用于表示变量或函数的数据类,可以直接赋值给变量,也可以用作函数的参数和返回值类。基础类的定义和使用非常简单,只需要在变量或函数的类声明指定即可。 泛型(Generic)是一种在编程广泛使用的概念,它允许我们在定义函数、类或接口时使用可变的类。使用泛型可以提高代码的复用性和灵活性。在TS,使用<>符号来声明使用泛型,并通过类参数来指定具体的类。 例如,定义一个泛型函数: function identity<T>(arg: T): T { return arg; } 这个函数使用了泛型类参数T,可以接受不同类的实参,并返回相同类的值。通过使用泛型,我们可以传入任意类的参数,而不需要重写多个函数。 另外,在TS还可以使用泛型约束来限制泛型类的操作。通过在泛型类参数后面添加extends关键字和约束类,可以确保传入的类必须满足特定条件。 总结起来,TS的基础类泛型都是为了增强代码的可读性、可维护性和可靠性而设计的。基础类用于定义简单的数据类,而泛型则用于创建更灵活和可复用的函数、类和接口。在实际开发,合理使用基础类泛型,可以提高代码的质量和开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值