TypeScript-类型断言

news2024/11/15 7:11:33

类型断言

当开发者比TS本身更清楚当前的类型是什么,可以使用断言(as)让类型更加精确和具体

const _link = document.getElementById('link')
console.log(_link.href) // 出错了,如下图

const _link = document.getElementById('link') as HTMLAnchorElement

⚠️ 类型断言只能够【欺骗】TypeScript 编译器,无法避免运行时的错误。小心使用!

function fn(foo: string | number) {
  console.log((foo as number).toFixed(2))
}
fn(100)
fn('100') // 报错如下图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1711656.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM的相关知识

目录 JVM内存划分 类加载过程 类加载中的“双亲委派模型” JVM内存划分 JVM也就是java进程。这个进程一旦跑起来之后,就会从操作系统里,申请一大块内存空间。JVM接下来就要进一步的对这个大的空间进行划分。划分成不同区域,从而每个区域都…

惯性测量单元M-G370系列广泛用于工业系统各个领域

爱普生现已推出型号为M-G370系列的高稳定性、高精度及极小尺寸封装的惯性测量单元(IMU),可广泛应用于工业系统的各个领域。 为了节省PCB的面积和产品空间,M-G370系列性测量单元设计精巧,且具有6个自由度:三轴角速率和三轴线性加速度&…

如何使用git上传linux下的项目!---附带每一步截图

在实际项目中,我们需要把自己的模块递给GitHub,需要别人的模块的时候拉下来,那么我们怎么把自己的项目递给GitHub呢?下面做一个总结: 登录GitHub 创建一个仓库 填写相关信息 项目名称是必填的,项目描述可以…

RK3568平台(camera篇)V4L2查询获取设置设备

一.查询设备能力VIDIOC_QUERYCAP struct v4l2_capability cap; ioctl(fd, VIDIOC_QUERYCAP, &cap) struct v4l2_capability 结构体描述了视频采集设备的 driver 信息。 struct v4l2_capability { __u8 driver[16]; // 驱动名字 __u8 card[32]; // 设备名字 __u8 bus_inf…

CSS学习笔记:Less

什么是Less? Less是一个CSS预处理器, Less文件后缀是.less 扩充了CSS 语言,使CSS具备一定的逻辑性、计算能力 可以通俗地理解:Less是一种更好用的CSS 注释 运算 嵌套 Less嵌套的作用:快速生成后代选择器 变量 问…

【Spring MVC】_SpringMVC项目返回数据

目录 1. 注解使用示例 1.1 使用Controller注解 1.2 使用RestController注解 1.3 使用Controller与ResponseBody注解 2. 关于ResponseBody注解 前文已经介绍过使用Controller注解向前端返回一个HTML页面,接下来将介绍向前端返回数据。 关于Controller和RestCon…

Rohm公司参展欧洲PCI盛会

​德国历史悠久的文化名城纽伦堡,即将迎来一场科技盛宴——欧洲PCI展览会。在这个为期三天的盛会中(6月11日至13日),Rohm公司将以璀璨之姿,特别聚焦宽带隙(WBG)设备的璀璨光芒。 此次&#xff0…

正则表达式介绍及一些实例(js语法)

一、正则表达式 正则表达式,全称“Regular Expression”,在代码中常简写为regex、regexp或RE。正则表达式,就是用某种模式去匹配一类字符串的公式。 1. 显式定义(构造函数) let 变量名 new RegExp("正则表达式…

CVPR2024《RMT: Retentive Networks Meet Vision Transformers》论文阅读笔记

论文链接:https://arxiv.org/pdf/2309.11523 代码链接:https://github.com/qhfan/RMT 引言 ViT近年来在计算机视觉领域受到了越来越多的关注。然而,作为ViT的核心模块--自注意力缺乏空间先验知识。此外,自注意力的二次计算复杂度…

oracle 12c GI卸载流程

集群节点停止服务 [crsctl stop crs -f grid运行deinstall [rootprimary1 bin]# su - grid [gridprimary1 ~]$ cd $ORACLE_HOME/deinstall [gridprimary1 deinstall]$ ls bootstrap_files.lst bootstrap.pl deinstall deinstall.pl deinstall.xml jlib readme.txt …

电机控制系列模块解析(25)—— 过压抑制与欠压抑制

一、概念解析 变频器作为一种重要的电机驱动装置,其内置的保护功能对于确保系统安全、稳定运行至关重要。以下是关于变频器过压抑制、欠压抑制(晃电抑制)、发电功率限制、电动功率限制等保护功能的详细说明: 过压抑制 过压抑制是…

基于python flask的疾病数据采集与可视化大屏,实现关联规则算法的治疗方法分析

背景 基于Python Flask的疾病数据采集与可视化大屏,旨在实现对疾病数据的采集、分析和可视化展示,为医疗领域提供决策支持和治疗方法分析。其中,关联规则算法被应用于治疗方法分析,旨在发现不同治疗方式之间的关联性和规律性&…

【RuoYi】使用代码生成器完成CRUD操作

一、前言 前面,介绍了如何下载和启动我们的RuoYi框架。为了让小伙伴们认识到ruoyi的强大,那么这篇博客就介绍一下如何使用ruoyi的代码生成器,自动生成前端页面以及后端的对应数据库表的CRUD操作!!!真的很强…

填补领域空白!TerDiT:首次探索大规模DiT模型量化问题(MMLab出品)

论文链接:https://arxiv.org/pdf/2405.14854 项目链接:https://github.com/Lucky-Lance/TerDiT 最近在大规模预训练的文本到图像扩散模型方面的发展显著提高了高保真图像的生成能力,特别是基于transformer架构的扩散模型(DiTs&a…

linux中使用gdb调试c++的dump文件

1 查看系统是否开启dump生成 0表示没开启 ulimit -c 但是这个只是针对当前这个连接,如果想要永久修改可以修改配置文件:vim /etc/profile,然后添加上面的命令ulimit - c unlimited.然后执行source /etc/profile或者重启使刚刚的配置可以…

selenium学习笔记

什么是selenium 比较官方的解释 Selenium是一个自动化测试工具,用于在Web应用程序中模拟用户操作。它提供了一组API,可以通过编程方式控制浏览器,并模拟用户的交互行为,例如点击、输入文本和导航等。Selenium支持多种编程语言&a…

让AI学相机对焦: Learning to AutoFocus

前言 分析来自谷歌发表在 CVPR 2020 上的论文 Learning to Autofocus :https://arxiv.org/pdf/2004.12260 目前网上对这篇论文的分析较少,有的分析并没有指出关键点,如:论文解读: Learning to AutoFocus-CSDN博客&am…

LeetCode115:不同的子序列

题目描述 给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 7 取模。 代码 /*dp[i][j]:以i为结尾的s中有以j为尾的t的个数递推公式:当s[i - 1] 与 t[j - 1]相等时,dp[i][j]可以有两…

Trie字符串统计-java

Trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。 目录 前言☀ 一、Trie字符串统计☀ 二、算法思路☀ 1.Trie树定义🌙 2.变量解释🌙 3.插入操作🌙 4.Trie树查找操…

以果决其行,只为文化的传承

从他们每一个人的身上,我们看到传神的东西,就是他们都能用结果,去指引自己前进的方向,这正是我要解读倪海厦老师的原因,看倪海厦2012年已经去世,到现在已经十几年时间了,但是我们看现在自学中医…