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 类型

相关文章
|
JavaScript
vue3 使用element plus 打包时 报错
vue3 使用element plus 打包时 报错
449 0
|
数据采集 监控 机器人
User-Agent 即用户代理
User-Agent 即用户代理
813 2
|
6月前
|
Web App开发 前端开发 JavaScript
前端性能优化利器:图片懒加载实战解析
前端性能优化利器:图片懒加载实战解析
|
UED
如何通过 Webpack 实现代码分割?
如何通过 Webpack 实现代码分割?
399 0
|
移动开发 缓存 前端开发
深入理解前端路由:原理、实现与应用
本书《深入理解前端路由:原理、实现与应用》全面解析了前端路由的核心概念、工作原理及其实现方法,结合实际案例探讨了其在现代Web应用中的广泛应用,适合前端开发者和相关技术人员阅读。
|
监控 JavaScript 前端开发
如何检测和解决 JavaScript 中内存泄漏问题
【10月更文挑战第25天】解决内存泄漏问题需要对代码有深入的理解和细致的排查。同时,不断优化和改进代码的结构和逻辑也是预防内存泄漏的重要措施。
366 6
|
JavaScript 前端开发
【Vue 3】如何实现动态表单生成器的拖拽功能?
【Vue 3】如何实现动态表单生成器的拖拽功能?
|
JavaScript 前端开发
JavaScript 函数中break,continue,return 的区别
JavaScript 函数中break,continue,return 的区别
216 0
|
前端开发 小程序 API
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
【微信小程序】使用 Promise、async 和 await 将异步API 改写为同步
575 0
|
缓存 JavaScript 前端开发
Vue3的魔法:深度解析Computed和Watch原理
【4月更文挑战第18天】
845 1