ts中 any 和 unknown 有什么区别,分别什么时候使用

news/2024/12/1 0:20:55/

any 和 unknown 都是顶级类型 top type,也就是所有类型的父类型 

(1)any代表任意类型, 是不做任何检查,相当于不使用 ts,不建议使用,使用 a as any as string 之类的,可以让类型检查通过,但是不建议使用。

(2)unknown 代表未知类型,更加严格,在对 unknown 类型的值执行大多数操作之前,必须进行某种形式的检查。 unknown 因为未知性质,不支持属性访问,不允许赋值给其他明确类型的变量。

unknown 还是可以保证类型安全的,在需要使用顶级类型的时候,还是用 unknown,使用 a as any as string 之类的,也可以让类型检查通过,建议使用。

  1. 隐式类型推断:
    • 对于 any,它会关闭 TypeScript 的类型检查,允许你在任何地方使用任何属性或方法,而不会得到编译器的提示。这样可能导致运行时错误。
    • 对于 unknown,你不能直接对其进行任何操作,因为 TypeScript 不知道它的具体类型。你必须在使用之前进行类型检查或类型断言。
  2. 类型赋值:
    • any 允许你将其赋值给任何类型,而不会引发错误。
    • unknown 不能直接赋值给其他类型,除非进行类型检查或类型断言。

http://www.ppmy.cn/news/1327320.html

相关文章

流式湖仓增强,Hologres + Flink构建企业级实时数仓

云布道师 2023 年 12 月,由阿里云主办的实时计算闭门会在北京举行,阿里云实时数仓Hologres 研发负责人姜伟华现场分享 HologresFlink 构建的企业级实时数仓,实现全链路的数据实时计算、实时写入、实时更新、实时查询。同时,随着流…

GitHub图床TyporaPicGo相关配置

本文作者: slience_me 文章目录 GitHub图床&Typora&PicGo相关配置1. Github配置2. picGo配置3. Typora配置 GitHub图床&Typora&PicGo相关配置 关于Typora旧版的百度网盘下载路径 链接:https://pan.baidu.com/s/12mq-dMqWnRRoreGo4MTbKg?…

Web Vitals

Web Vitals指标优化是一个专注于用户体验的过程,其目标是改善网站在加载性能、交互性和视觉稳定性方面的表现。以下是针对Core Web Vitals各指标的优化建议: Largest Contentful Paint (LCP) LCP衡量的是加载页面最大文本块或图像所需的时间。要优化LC…

web蓝桥杯真题--12、由文本溢出引发的“不友好体验”

背景介绍 通常情况下,为保证布局的稳定性,以及遵循在有限的空间展示更多内容的原则,页面的某块区域不会随内容的增多而无限增高或增宽,一般会有一个约束。 例如:整体元素过多可以使用滚动条;文字内容过多…

MySQL修炼手册11:事务处理:确保数据的一致性与完整性

写在开头 在探索数据管理的世界中,理解如何在数据库中使用事务处理,无疑是一项关键的能力。在处理复杂的数据库操作,尤其是在你试图在多个表或数据库中更新数据时,事务可以确保这些更改具有原子性、一致性、隔离性和持久性&#…

如何本地部署虚拟数字克隆人 SadTalker

环境: Win10 SadTalker 问题描述: 如何本地部署虚拟数字克隆人 SadTalker 解决方案: SadTalker:学习逼真的3D运动系数,用于风格化的音频驱动的单图像说话人脸动画 单张人像图像🙎 ♂️音频&#x1f3…

Hive-SQL语法大全

Hive SQL 语法大全 基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C)如上语法,在语法描述中出现: [],表示可选,如上[LOCATI…

第6章 继承与构造

继承是C类型演化的重要机制,在保留原有类的属性和行为的基础上,派生出的新类可以有某种程度的变异。 接受成员的新类称为派生类; 提供成员的类称为基类;基类是对若干个派生类的抽象,提取了派生类的公共特征&am…