零基础入门Typescript—类型推论,联合类型和类型断言
类型推论 - type inference
在类型脚本中,有的地方使用类型推论在没有明确类型注释时提供类型的信息
例如:
let x = 3;
我们没有声明类型,但是类型推论其为number类型
联合类型 - union types
我们只需要用中竖线来分割两个,下面例子即表示可以number类型也可以string类型
当 TypeScript 不确定一个联合类型的变量到底是哪个类型的时候,我们只能访问此联合类型的所有类型里共有的属性或方法:
numberOrString.length
numberOrString.toString()
类型断言 - type assertions
关于类型断言,简单解释一下下面代码意思:input是联合类型,可以是number或者string,下面要返回参数的长度,但是只有字符串有length属性,所以用toString() 将数字转换为字符串再取其length。
function getLength(input: string | number): number {const str = input as stringif (str.length) {return str.length} else {const number = input as numberreturn number.toString().length}
}
这里就是用 as 关键字,告诉typescript 编译器,你没法判断我的代码,但是我本人很清楚,这里我就把它看作是一个 string,你可以给他用 string 的方法。
零基础入门Typescript—类型推论,联合类型和类型断言相关推荐
- 〖Python零基础入门篇⑩〗 - Python中的数字类型及应用
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 零基础入门神经网络:从原理、主要类型到行业应用
原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球.但是神经网络是个啥?有啥用? 这篇文章和大家唠唠 ...
- 【神经网络】零基础入门神经网络:从原理、主要类型到行业应用
原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球.但是神经网络是个啥?有啥用? 这篇文章和大家唠唠 ...
- 〖Python零基础入门篇⑪〗- Python中的字符串类型及应用
✌ 大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区. ✌
- Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型
不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...
- c语言word类型_C语言零基础入门—数据类型
C语言零基础入门--3.数据类型 这一节的主要任务是 讲解C语言的 数据类型 . 1. 数据类型 1.1 何为数据类型 数据类型,其实在我们生活中经常被使用,但是在编程语言中被重新定义了一下,并且加 ...
- 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量
非零基础自学Golang 文章目录 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量 3.1.1 声明变量 3.1.2 初始化变量 3.1.3 变量值交换 3.1.4 匿名变量 ...
- 「建模调参」之零基础入门数据挖掘
Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...
- 【零基础入门数据挖掘】-建模调参
Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...
最新文章
- Linux中常用到的命令
- Web前端学习路线分享,初学者不要错过!
- c语言指针在左还是右,C语言学习之指针的右左法则
- c#url拼接方法名_c# 获取url参数的五种方法
- python如何实现支持中文
- qdir安装 多窗口资源管理软件
- system volume information是什么文件_如何扩展Unity URP的后处理Volume组件
- 基于WebQQ3.0协议写一个QQ机器人
- 浙江财经大学是一所怎样的学校?
- 机器学习-预测之BP神经网络模型原理及实战
- Oracle (08)JDBC
- 写博客的2年,我有12万+粉丝了,还上了百度百科!
- cast 和convert和concat详解以及mysql和sqlserver兼容问题
- 宝塔面板nginx域名配置
- springboot 调用方法事物_springboot中使用@Transactional注解事物不生效的坑
- MA、EMA、SMA、DMA、TMA、WMA
- DIM的全称及本来意义
- 浙大计算机科学与技术专业分数线,浙江大学数学系分数线
- CentOS 定时运行脚本配置
- C++ Float和Double类型的有效位解释