学习TypeScrip11(类型推论|类型别名)

简介: 如果你声明变量没有定义类型也没有赋值这时候TS会推断成any类型可以进行任何操作

什么是类型推论


let str = "小满zs"


1.我声明了一个变量但是没有定义类型


TypeScript 会在没有明确的指定类型的时候推测出一个类型,这就是类型推论


1d631575a0084ec6a1c8d288665472fa.png


所以TS帮我推断出来这是一个string类型


a1de5ad7b2f944c5943c93e76598a665.png


不能够在赋值给别的类型


2.如果你声明变量没有定义类型也没有赋值这时候TS会推断成any类型可以进行任何操作


ac55d781b42d40e9a2864244147b60ed.png


类型别名


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


定义类型别名


type str = string
let s:str = "我是小满"
console.log(s);


定义函数别名


type str = () => string
let s: str = () => "我是小满"
console.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高级用法

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


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


5e0a471d4f894d6492543f6ee1243f34.png


学习TypeScrip12(never类型)_qq1195566313的博客-CSDN博客

目录
相关文章
|
6月前
|
Java Spring
使用枚举定义常量更好点儿
使用枚举定义常量更好点儿
|
2月前
|
JavaScript
typeScript基础(2)_any任意值类型和类型推论
本文介绍了TypeScript中的`any`任意值类型,它可以赋值为其他任何类型。同时,文章还解释了TypeScript中的类型推论机制,即在没有明确指定类型时,TypeScript如何根据变量的初始赋值来推断其类型。如果变量初始化时未指定类型,将被推断为`any`类型,从而允许赋予任何类型的值。
55 4
|
6月前
|
安全 API C#
C#.Net筑基-类型系统②常见类型--枚举Enum
枚举(enum)是C#中的一种值类型,用于创建一组命名的整数常量。它们基于整数类型(如int、byte等),默认为int。枚举成员可指定值,未指定则从0开始自动递增。默认值为0。枚举可以与整数类型互相转换,并可通过`[Flags]`特性表示位域,支持位操作,用于多选场景。`System.Enum`类提供了如`HasFlag`、`GetName`等方法进行枚举操作。
|
6月前
|
存储 C# 索引
C#学习相关系列之数据类型类的定义(一)
C#学习相关系列之数据类型类的定义(一)
106 0
|
C语言 C++
竞赛(变量定义、赋值及转换)
竞赛(变量定义、赋值及转换)
|
索引
学习TypeScrip9(元组类型)
元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。
84 0
学习TypeScrip9(元组类型)
|
存储 编译器 程序员
「自定义类型」C语言中的构造数据类型如结构,联合,枚举
🐰结构 🌸数据类型的定义 🌸关键字struct 与 class 的困惑 🌸使用struct 🐰位域(位段) 🐰成员对齐 🌸结构内存大小的计算 🐰联合(Union) 🌸联合内存大小的计算 🐰枚举(enum) 🌸枚举类型的大小
|
安全 JavaScript
学习TypeScrip2(任意类型)
TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown
86 0
|
JavaScript 编译器
学习TypeScrip6(类型断言 | 联合类型 | 交叉类型)
学习TypeScrip6(类型断言 | 联合类型 | 交叉类型)
81 0
|
JavaScript
学习TypeScrip12(never类型)
差异2 当我们鼠标移上去的时候会发现 只有void和number never在联合类型中会被直接移除
72 0