13、类型推论|类型别名

本文介绍了TypeScript中的类型推论,包括自动显示类型和未赋值时的any类型。接着讲解了类型别名的定义及联合类型的使用。同时对比了type和interface的区别,如继承、联合类型以及命名冲突的处理。还探讨了type的高级用法,如extends在类型断言中的作用。
摘要由CSDN通过智能技术生成

1、类型推论

// 类型推论1:ts支持,鼠标放上去自行显示类型,这种可以省略写出类型
let num = 12
// 类型推论2:没有赋值的情况下
let str // 类型为any
str = 123
str = '123'

2、类型别名(使用type关键字定义)

type s = string
let str1: s = 'huangzi'
// 支持联合类型
type sn = string | number
let sn1: sn = 77
// 定义函数
type fn = (name: string) => void
// 定义对象
type obj = { id: string }
// 定义数组
type arr = number[]

3、type与interface区别

// 1、interface:A可以使用extends去继承B;type:只能使用交叉类型&
type obj1 = string & B
interface A extends B {
  name: string | null // 在属性上可以写联合类型
}
interface B { }
// 2、interface:不可以写联合类型;type:写联合类型非常简单
type obj2 = string[] | number
// 3、interface:遇到重名的会进行合并;type:遇到重名的不会合并,并报错

4、type高级用法

// extends在type中是包含的意思(左边的值会作为右边类型的子类型)
type result = 1 extends number ? 1 : 0 // type result = 1
type result1 = 1 extends any ? 1 : 0 // type result1 = 1
type result2 = 1 extends number ? 1 : 0 // type result2 = 1
type result3 = 1 extends never ? 1 : 0 // type result3 = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值