【前端vue3】TypeScrip-类型推论和类型别名

类型推论

TypeScript里,在有些没有明确指出类型的地方,类型推论会帮助提供类型。
例如:
在这里插入图片描述
变量xiaoc被推断类型为string

如重新给xiaoc赋值数字会报错

let xiaoc = "xiaoc"

xiaoc =1111111111111

在这里插入图片描述

如没有给变量指定类型和赋值,会被ts推断为any,可以执行任何操作

let xiaoc

xiaoc = 1234
xiaoc = "xiaoc"
xiaoc = undefined
xiaoc = true

在这里插入图片描述

类型别名

type 关键字(可以给一个类型定义一个名字)多用于复合类型

定义类型别名
type str = string
 
let s:str = "小C"
 
console.log(s);
定义函数别名
import { log } from "console"

type str=() =>string
let s :str = () =>"我是小C"
log(s)
定义联合类型别名
type str = string | number
 
 
let s: str = 123
 
let s2: str = '123'
 
console.log(s,s2);
定义值的别名
type value = boolean | 0 | '213'
 
 
let s:value = true
//变量s的值  只能是上面value定义的值

type 和 interface 还是一些区别的 虽然都可以定义类型

1.interface可以继承 type 只能通过 & 交叉类型合并

2.type 可以定义 联合类型 和 可以使用一些操作符 interface不行

3.interface 遇到重名的会合并 type 不行

左边的值会作为右边值的子类型遵循图中上下的包含关系

type a = 1 extends number ? 1 : 0 //1
 
type a = 1 extends Number ? 1 : 0 //1
 
type a = 1 extends Object ? 1 : 0 //1
 
type a = 1 extends any ? 1 : 0 //1
 
type a = 1 extends unknow ? 1 : 0 //1
 
type a = 1 extends never ? 1 : 0 //0

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值