学习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`类型,从而允许赋予任何类型的值。
56 4
|
3月前
|
JavaScript 编译器
typescript 解决变量多类型访问属性报错--工作随记
typescript 解决变量多类型访问属性报错--工作随记
|
6月前
|
JavaScript 前端开发 编译器
TypeScript中的高级类型:联合类型、交叉类型与条件类型深入解析
【4月更文挑战第23天】探索TypeScript的高级类型。这些特性增强类型系统的灵活性,提升代码质量和维护性。
|
6月前
|
算法 编译器 C++
【C++ 模板编程 基础知识】C++ 模板类部分特例化的参数顺序
【C++ 模板编程 基础知识】C++ 模板类部分特例化的参数顺序
40 0
|
6月前
|
JavaScript 安全
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
|
C语言 C++
竞赛(变量定义、赋值及转换)
竞赛(变量定义、赋值及转换)
|
6月前
|
开发框架 .NET 编译器
C# 9.0中的目标类型新表达式:类型推断的又一进步
【1月更文挑战第16天】C# 9.0引入了目标类型新表达式,这是类型推断功能的一个重要扩展。通过目标类型新表达式,开发者在创建对象时可以省略类型名称,编译器会根据上下文自动推断所需类型。这一特性不仅简化了代码编写,还提高了代码的可读性和维护性。本文将详细介绍目标类型新表达式的语法、使用场景及其对C#编程的影响。
|
6月前
|
JavaScript 前端开发 编译器
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
70 0
|
索引
学习TypeScrip9(元组类型)
元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。
87 0
学习TypeScrip9(元组类型)