ts学习:is关键词

is关键词主要用来框定类型并实现对应的类型断言,下面看一个例子

写一个简单函数来判断某个值是否是字符串类型

function isString(value:unknown):boolean{return typeof value === "string"
}

这里我们的参数选用了unknown类型,该类型就是一个保险的any,当你去调用一些属性和方法的时候会报错,因为其是一个危险的“未知”类型。

用上面那个函数去进行一个简单的判断

let someValue:unknown="hhhha"
if (isString(someValue)){console.log(someValue.length); //这边出现报错,someValue任然是个unknown类型
}

在上面这个判断中,istring能判断一个值是否是string,是的话就打印出该字符串的长度

虽然我们已经判断出其是个string类型,但是其类型没有实现转换,因此不能调用length属性

我们可以使用is关键词去改写这个判断函数

function isString1(value:unknown):value is string{return typeof value ==="string"
}

进行一下判断

if (isString1(someValue)){console.log(someValue.length);
}

这里就没有报错,如果在编辑器上可以发现,这个someValue的类型转成了string

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

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

相关文章

python代码优化学习

代码优化对比: 优化前: # 登录系统 xxljob_login() start_time time.time() # 循环处理需要补数的数据 for item in authId_lists: preSettleInfoHandler(item) count 1 print("运行了第" str(count) "个") …

数据分析---主要工作

目录 几个主要工作常用的数据分析工具具体的使用场景几个主要工作 数据清洗和预处理:对原始数据进行清洗、去重、填充缺失值、处理异常值等操作,以确保数据的准确性和完整性。探索性数据分析(EDA):通过可视化和统计方法,对数据进行探索,发现数据的分布、相关性、异常情况…

【JVM】聊聊常见的JVM排查工具

JDK工具包 jps 虚拟机进程状况工具 jps是虚拟机进程状况工具,列出正在运行的虚拟机进程,使用 Windows 的任务管理器或 UNIX 的 ps 命令也可以查询,但如果同时启动多个进程,必须依赖 jps。jps -l 显示类名 jps :列出Java程序进程…

linux vi 退出编辑状态

在 vi 编辑器中,要退出编辑状态并保存或者放弃更改,需要执行以下步骤: 1. 保存并退出: - 按下 Esc 键确保你处于正常模式(Normal Mode)。 - 输入 :wq,然后按下 Enter 键。这将保存更改并…

SVPWM

SVPWM SVPWMSVPWM原理产品比较特点来源 SVPWM SVPWM的主要思想是以三相对称正弦波电压供电时三相对称电动机定子理想磁链圆为参考标准,以三相逆变器不同开关模式作适当的切换,从而形成PWM波,以所形成的实际磁链矢量来追踪其准确磁链圆。传统…

3.1作业

改变图片色彩————德国国旗 #include <stdio.h> #include <string.h> #include <unistd.h> #include <stdlib.h> int main(int argc, const char *argv[]) {FILE* fpfopen("./haha.bmp","r");int h0,w0;fseek(fp,18,SEEK_SET)…

yolo训练时遇到GBK编码问题

yolo训练时遇到GBK编码问题 启动训练具体信息如下&#xff1a; comet upload E:\python\yolov9-main.cometml-runs\e0c17dd22058467f98cf447d5cc45bf5.zip COMET INFO: Using ‘D:\pycharmProject\yolov5-master-6.2\.cometml-runs’ path as offline directory. Pass ‘off…

高比例清洁能源接入下计及需求响应的配电网重构(matlab代码)

目录 1 主要内容 目标函数 重要约束条件 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现《高比例清洁能源接入下计及需求响应的配电网重构》&#xff0c;以考虑网损成本、弃风弃光成本和开关操作惩罚成本的综合成本最小为目标&#xff0c;针对配电网重构模型的…

3694-51-7,3,5-Dinitro-1,2-phenylenediamine,合成其他化合物的重要中间体

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;3694-51-7&#xff0c;3,5-Dinitro-1,2-phenylenediamine&#xff0c;3,5-二硝基-1,2-苯二胺;3,5-二硝基苯-1,2-二胺 一、基本信息 【产品简介】&#xff1a;3,5-Dinitro-1,2-phenylenediamine, with the molecular…

提取抖店卖家电话的爬虫软件

介绍&#xff1a; 如今&#xff0c;电商平台上的抖店卖家数量庞大&#xff0c;对于想要联系卖家的买家来说&#xff0c;获取卖家的联系电话是一项相当繁琐的任务。为了简化这个过程&#xff0c;我们可以借助Python编写一个抖店卖家电话提取爬虫软件&#xff0c;快速获取所需的联…

SpringBoot启动扩展应用:干预优化+加快启动时间(干货典藏版)

一、SpringBoot启动过程干预 Spring Boot启动过程中我们可以实现以下干预工作&#xff1a; 修改Spring Boot默认的配置属性。使用ConfigurationProperties和EnableConfigurationProperties注解&#xff0c;可以获取和修改Spring Boot的配置属性。 加载配置文件。Spring Boot会…

面试数据库篇(mysql)- 06覆盖索引

原理 覆盖索引是指查询使用了索引,并且需要返回的列,在该索引中已经全部能够找到 。 id name gender createdate 2 Arm

c++_leetcode_寻找峰值

目录 一、寻找峰值的示例 二、官方实现代码及解释 1、官方测试结果&#xff1a; 2、代码解释&#xff1a; 3、解题思路&#xff1a; 三、我的暴力解决 1、测试一&#xff1a; 2、测试二&#xff1a; 3、最终“暴力求解”代码&#xff1a; 4、官网提交测试通过&#xf…

【JavaScript】面试手撕节流

引入 上篇我们讲了防抖&#xff0c;这篇我们就谈谈防抖的好兄弟 – 节流。这里在老生常谈般的提一下他们两者之间的区别,顺带给读者巩固下。 PS: 开源节流中节流与这个技术上的节流&#xff0c;个人认为本质上是一样的。 开源节流的节流指的是节省公司的金钱开支。前端技术上的…

databinding双向绑定原理,Android程序员最新职业规划

1. Android架构设计模式 MVC架构设计模式&#xff1a;MVC全名是Model View Controller&#xff0c;是模型(model)-视图(view)-控制器(controller)的缩写。MVP架构设计模式&#xff1a;MVC全名是Model View Persenter&#xff0c;MVP由MVC演变而来&#xff0c;是现在主流的开发…

小工具——抖音短视频评论自动同步

很多时候喜欢看抖音的评论&#xff0c;有时候评论也是一个查疑解惑的好地方&#xff0c;很多人也喜欢把抖音的评论集中起来做分析。 因为一个朋友问过我这回事&#xff0c;闲着的时候也研究了下抖音&#xff0c;所以自己做了个小工具&#xff0c;自动同步你观看的抖音短视频的…

Gophish+EwoMail 自建钓鱼服务器

GophishEwoMail 自建钓鱼服务器 文章目录 GophishEwoMail 自建钓鱼服务器1.前提准备2.搭建EwoMail邮件服务器1&#xff09;Centos7 防火墙操作2&#xff09;设置主机名3&#xff09;host配置4&#xff09;安装EwoMail5&#xff09;获取DKIM6&#xff09;端口服务介绍7&#xff…

黑马JavaWeb课程中安装vue脚手架出现的问题

1 安装node.js 要想前端工程化&#xff0c;必须安装node.js&#xff0c;前端工程化的环境。 在成功安装node.js后&#xff0c; 修改全局包安装路径为Node.js安装目录&#xff0c; 修改npm镜像源为淘宝镜像源&#xff0c;这里出现第一个问题&#xff0c;视频中给的淘宝镜像为&…

OnlyOffice Document Server部署的步骤和详细解说

OnlyOffice Document Server是一个免费的开源办公套件&#xff0c;支持在线查看和编辑Office文档。要部署OnlyOffice Document Server&#xff0c;可以通过多种方式进行&#xff0c;包括使用Docker、手动安装在Linux服务器上&#xff0c;或者直接安装在Windows服务器上。 以下…

Maven-私服(黑马学习笔记)

前面我们在讲解多模块开发的时候&#xff0c;我们讲到我们所拆分的模块是可以在同一个公司各个项目组之间进行资源共享的。这个模块的资源共享&#xff0c;就需要通过我们接下来所讲解的Maven的私服来实现。 首先我们先介绍一下什么是私服&#xff0c;以及它的作用是什么。再来…