学习TypeScrip2(任意类型)

简介: TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown

Any 类型 和 unknown 顶级类型


nodejs 环境执行ts

npm i @types/node --save-dev (node环境支持的依赖必装)

npm i ts-node --g


1.没有强制限定哪种类型,随时切换类型都可以 我们可以对 any 进行任何操作,不需要检查类型


let anys:any = 123
anys = '123'
anys = true


2.声明变量的时候没有指定任意类型默认为any


let anys;
anys = '123'
anys = true


3.弊端如果使用any 就失去了TS类型检测的作用


4.TypeScript 3.0中引入的 unknown 类型也被认为是 top type ,但它更安全。与 any 一样,所有类型都可以分配给unknown


unknow  unknow类型比any更加严格当你要使用any 的时候可以尝试使用unknow


//unknown 可以定义任何类型的值
let value: unknown;
value = true;             // OK
value = 42;               // OK
value = "Hello World";    // OK
value = [];               // OK
value = {};               // OK
value = null;             // OK
value = undefined;        // OK
value = Symbol("type");   // OK
//这样写会报错unknow类型不能作为子类型只能作为父类型 any可以作为父类型和子类型
//unknown类型不能赋值给其他类型
let names:unknown = '123'
let names2:string = names
//这样就没问题 any类型是可以的
let names:any = '123'
let names2:string = names   
//unknown可赋值对象只有unknown 和 any
let bbb:unknown = '123'
let aaa:any= '456'
aaa = bbb


区别2


如果是any类型在对象没有这个属性的时候还在获取是不会报错的
let obj:any = {b:1}
obj.a
如果是unknow 是不能调用属性和方法
let obj:unknown = {b:1,ccc:():number=>213}
obj.b
obj.ccc()


第三章


学习TypeScrip3(接口和对象类型)_qq1195566313的博客-CSDN博客

目录
相关文章
go 将函数 当做参数传递 实现 不同类型数据求和
go 将函数 当做参数传递 实现 不同类型数据求和
65 1
|
8月前
|
Java 索引
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
88 0
|
Java 编译器
重载的方法能否根据返回类型进行区分?
重载的方法不能根据返回类型进行区分。方法的重载是基于方法名称和参数列表来进行区分的,与返回类型无关。这是因为在Java中,编译器在确定要调用哪个重载方法时,仅根据传递给方法的参数来进行决策。
381 0
|
JavaScript
学习TypeScrip11(类型推论|类型别名)
如果你声明变量没有定义类型也没有赋值这时候TS会推断成any类型可以进行任何操作
98 0
学习TypeScrip11(类型推论|类型别名)
|
索引
学习TypeScrip9(元组类型)
元组与集合的不同之处在于,元组中的元素类型可以是不同的,而且数量固定。元组的好处在于可以把多个元素作为一个单元传递。如果一个方法需要返回多个值,可以把这多个值作为元组返回,而不需要创建额外的类来表示。
93 0
学习TypeScrip9(元组类型)
|
JavaScript 前端开发 API
📕 重学JavaScript:判断数组中包含哪些值有什么好方法?
你有没有遇到过这样的问题:你想要判断一个数组中包含哪些值,但是却不知道改用什么方法就直接用for循环遍历?🤔
97 0
|
JavaScript
学习TypeScrip12(never类型)
差异2 当我们鼠标移上去的时候会发现 只有void和number never在联合类型中会被直接移除
76 0
|
JavaScript 编译器
学习TypeScrip6(类型断言 | 联合类型 | 交叉类型)
学习TypeScrip6(类型断言 | 联合类型 | 交叉类型)
90 0
|
Swift
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
432 0
Swift实用小册07:枚举的创建、使用、遍历、关联值、原始值
SwiftUI—如何通过AnyView返回任意类型的视图
SwiftUI—如何通过AnyView返回任意类型的视图
271 0
SwiftUI—如何通过AnyView返回任意类型的视图