TypeScript 类型断言

TypeScript 类型断言

简单来说类型断言就是 使用as关键词 强行指定获取到的结果类型

应用场景

  // 类型断言: 强行指定获取到的结果类型// 应用场景// 页面上有一个 id 为 link 的 a 标签// 我们知道它是 a 标签// 但是 TS 不知道 // document.getElementById 的返回值是 HTMLElement 所有TS认为他是HTMLElement // 而 HTMLElement 身上没有 href a标签应该是HTMLAnchorElement href在HTMLAnchorElement中// 所以我们需要强行指定它的类型为HTMLAnchorElement 我们才能使a.herf不报错const a = document.getElementById('link') as HTMLAnchorElementconst box = document.getElementById('box') as HTMLDivElementconst pp = document.getElementById('pp') as HTMLParagraphElementconst img = document.getElementById('avatar') as HTMLImageElement

如果我们不知道一个标签是什么类型,我们可以像下面这样

用img标签举例
先创建一个img元素,然后把鼠标放到接收的变量上面(下图就是把鼠标放在result上面)就会弹出来img是HTMLImageElement类型了

在这里插入图片描述
总结: 当函数获取到的结果类型较为宽泛时, 我们又知道具体类型, 就可以使用断言强行指定类型

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

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

相关文章

区块链实验室(17) - FISCO BCOS的P2P网络层分析

首先启动FISCO BCOS的示例网络,即4个节点的强连通网络。每个节点与其余3个节点存在网络连接。 打开控制台,可以看到当前有21个区块。 其中1个节点的P2P端口是30301,监测这个节点的端口。 该端口的部分流量见下图所示。白底部分是某1秒钟接收到…

f12 CSS网页调试_css样式被划了黑线怎么办

我的问题是这样的 class加上去了,但是样式不生效,此时可能是样式被其他样式覆盖了, 解决方案就是 给颜色后边添加一个!important

IDEA中怎么使用git下载项目到本地,通过URL克隆项目(giteegithub)

点击 新建>来自版本控制的项目 点击后会弹出这样一个窗口 通过URL拉取项目代码 打开你要下载的项目仓库 克隆>复制 gitee github也是一样的 返回IDEA 将刚刚复制的URL粘贴进去选择合适的位置点击克隆 下载完成

Java方法重写

目录 1.什么是方法重写 2.方法重写的规则 3.重写与重载的区别 1.什么是方法重写 重写(override,也称为覆盖):在子类中对父类中允许访问的方法的实现过程进行重新编写,子类中方法的名称、返回值类型、参数列表与父类…

Linux crontab命令:循环执行定时任务(详解)

crontab 命令的基本格式如下: [rootlocalhost ~]# crontab [选项] [file] file 指的是命令文件的名字,表示将 file 作为 crontab 的任务列表文件并载入 crontab,若在命令行中未指定文件名,则此命令将接受标准输入(键盘…

微服务基础总结

1.服务注册和发现 服务注册维护一个登记簿,管理系统内所有服务地址,服务启动后会向登记簿交待自己的地址信息。 服务注册形式:客户端注册和第三方注册 客户端注册(zookeeper) 服务自身要负责注册和注销工作&#xf…

清理c盘的垃圾。

1 清理系统缓存 1.首先使用键盘上[ WindowsR ]打开[运行] 2,在对话框中输入%temp%字符,并点击[确定] 3.选中该弹窗,再用[ctrlA] 进行全选 4.删除 2 清理软件 链接: https://pan.baidu.com/s/1sG70n-aEMGStv4T1YM-cPQ?pwd83rm 提取码: 83r…

部署Tomcat和jpress应用

静态页面:静态页面是指在服务器上提前生成好的HTML文件,每次用户请求时直接返回给用户。静态页面的内容是固定的,不会根据用户的请求或其他条件进行变化。静态页面的优点是加载速度快,对服务器资源要求较低,但缺点是无…

深入理解派生类

深入理解派生类 Created time: August 6, 2023 10:10 AM 运行时多态和编译时多态 多态是面向对象编程中的一个重要概念,它可以让我们以一种更加灵活的方式来处理对象,使得程序更加易读易维护。在C中,多态可以分为两种类型:运行…

从URL取值传给后端

从URL传值给后端 http://127.0.0.1:8080/blog_content.html?id8点击浏览文章详情,跳转至详情页面 从 url 中拿出文章 id,传给后端 首先拿到url然后判断是否有值,从问号后面取值params.split(&) 以 & 作为分割然后遍历字符数组 param…

TFTP 的使用操作指南(轻松入门版)

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

RabbitMQ 生产者-消息丢失 之 场景分析

生产者-消息丢失 之 场景分析 生产者消息丢失的场景消息无法到达RabbitMQ连接断开信道关闭 RabbitMQ无法将消息入队交换机不存在无匹配队列 消息过期丢失消息丢失场景对比 生产者消息丢失的场景 生产者发送消息的流程如下:首先生产者和RabbitMQ服务器建立连接&…

opencv基础 42- Scharr算子-cv2.Scharr()(边缘检测基础)

Scharr算子是用于计算图像梯度的一种常用算子,特别是在边缘检测任务中。它是Sobel算子的改进版本,旨在提供更加准确和敏感的边缘检测。 在离散的空间上,有很多方法可以用来计算近似导数,在使用 33 的 Sobel 算子时,可能…

简述Mysql索引

一、索引概述 1.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结…

uniapp小程序console.log在微信开发者工具中不打印问题

最近在开发一款uniapp小程序,发现console.log在微信开发者工具中不打印,但在H5页面就能够有打印输出,于是在网上寻找原因… 主要是由于vue.config.js文件中有设置发布时删除console的配置,如下: 官网参考地址&#x…

静态路由 (华为设备)

默认路由:当路由器 收到目标地址不在路由表中的数据包时,将会 全部 发送 到 默认路由所定义的吓一跳 ,作为位置地址 数据包的 最后求助方式,这就是默认路由器的功能,默认路由的使用,可以大大的节省系统资源…

LeetCode 130. 被围绕的区域

题目链接:130. 被围绕的区域 题目描述 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例1: 输入:board [[“…

SQL Server数据库如何添加mysql链接服务器(Windows系统)

SQL Server数据库如何添加mysql链接服务器(Windows系统) 一、说明二、下载mysql的odbc驱动三、安装mysql odbc四、配置ODBC4.1 控制面板→ODBC数据源(64位)→双击打开4.2 添加msql odbc数据源 五、测试添加是否成功六、打开SSMS&a…

ChatGPT的 6 个强势升级:重点是超强的文件上传和分析功能也来啦!

发布会核心概览 前日凌晨,OpenAI在社交平台上宣布了一系列新功能,旨在提升用户体验。这6 个新功能包括 “提示示例、回答建议、GPT-4默认选择、可分析上传多个文件、保持登录状态和键盘快捷键”。 其中,可分析上传多个文件的功能非常强大。结…

react搭建在线编辑html的站点——引入grapes实现在线拖拉拽编辑html

文章目录 ⭐前言⭐搭建react ts项目⭐引入grapes 插件⭐结束 ⭐前言 大家好,我是yma16,本文分享关于react搭建在线编辑html的站点。 react 发展历史 React是由Facebook开发的一种JavaScript库,用于构建用户界面。React最初发布于2013年&…