TS中的unknown类型

简介: TS中的unknown类型

我们可以对 any 进行任何操作,不需要检查类型。

let value:any;
value = ture;
value = 1;
value.length;

没有类型检查就没有意义了,跟写JS一样。很不安全。

unknown

也可以把任何值赋值给 unknown

let value:any;
value = ture;
value = 1;

但是不能调用属性和方法

value.length; // 错误写法

如果需要调用属性和方法,那么你可能需要类型断言

let value:unknown;
value = 'hello';
(value as string).length

再或者使用类型保护

let value:unknown;
value = 'hello';
if (typeof value === 'string') {
  value.length
}

联合类型中的 unknown定义

如果联合类型中有unknown,那么最终得到的都是unknown类型

type U1 = unknown | null;
type U2 = unknown | string;
type U3 = unknown | number;

类型别名 U1,U2,U3 都是 unknown 类型

相关文章
|
5月前
|
JavaScript 前端开发 索引
TS - interface和type的区别
TS - interface和type的区别
22 0
|
5月前
|
JavaScript
ts中枚举
ts中枚举
29 0
|
6月前
|
JavaScript 前端开发 开发者
ts详解以及相关例子(一篇带你详细了解ts)
ts详解以及相关例子(一篇带你详细了解ts)
42 1
|
8月前
|
JavaScript 前端开发
ts -函数的类型
在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expression)
|
8月前
|
JavaScript 前端开发
ts - 类
TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程。让我们创建一个Student类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起工作。
|
10月前
|
JavaScript 编译器 开发者
TS类型断言
TypeScript中的类型断言是一种将变量或表达式的类型强制转换为开发者指定的类型的方式。可以使用尖括号(<>)语法或者as语法进行类型断言。
|
11月前
|
存储 JavaScript
【TS】object类型
【TS】object类型
51 0
|
11月前
|
JavaScript
【TS】ts的使用和类型注解
【TS】ts的使用和类型注解
95 0
|
11月前
【TS】枚举
【TS】枚举
45 0