[TS]学习总结

总结

TS8种基础类型

string、number、boolean、undefined、null、object、bigint、symbol

特俗类型:

void、never、any、unknown

  • void:用于函数没有返回值

  • never:用于函数抛出异常或函数内部死循环

  • any:任意类型

  • unknown:不知道什么类型

Array和函数类型定义:
let list:number[] = [1,2,3]
let list:string[] = ['a,'b','c']
let list:Array<number> = [1,2,3]
function add(x:number,y:number):number{
    return x+y;
}
元组、交叉类型、联合类型
//元组
let list:[number,string,boolean] = [1,'jack',true]

// 交叉类型
type User = { name: string }
type AgeType = { age: number }
let jack: User & AgeType = { name:'jack', age: 30 }

// 联合类型
let num:string | number = '1'
接口5种场景
interface Person {
    name: string;
    age?: number;
    [k:string]: string | number;
}


interface User extends Person{
    gender: 'male'
}
泛型使用
function identity<T>(num:T):T{
    return num;
}

identity<number>(10);
keyof、typeof、in使用
  • keyof 获取对象键

  • typeof 获取对象类型

  • in指定属性需要在某一个key中

interface Person{
    name: string;
    age: number;
}

type Keys = keyof Person; // Keys会得到:'name' | 'age'



const user = { name: 'jack', age: 30 }
type UserType = typeof user; // 会返回一个user类型,包含name和age


type UserType2 = {
    [k in Keys]: string;
}
// UserType2会约束属性必须包含name和age
TS学习方法
  • 每一个语法都要手写出来,理解没有偏差。

  • 项目当中反复使用。

  • 工作当中举一反三、活学活用。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值