类型推论 - 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—类型推论,联合类型和类型断言相关推荐

  1. 〖Python零基础入门篇⑩〗 - Python中的数字类型及应用

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  2. 零基础入门神经网络:从原理、主要类型到行业应用

    原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球.但是神经网络是个啥?有啥用? 这篇文章和大家唠唠 ...

  3. 【神经网络】零基础入门神经网络:从原理、主要类型到行业应用

    原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI 最近,神经网络这个词特别火,吸引不少眼球.但是神经网络是个啥?有啥用? 这篇文章和大家唠唠 ...

  4. 〖Python零基础入门篇⑪〗- Python中的字符串类型及应用

    ✌ 大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区. ✌

  5. Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...

  6. c语言word类型_C语言零基础入门—数据类型

    ​C语言零基础入门--3.数据类型 这一节的主要任务是 讲解C语言的 数据类型 . 1. 数据类型 1.1 何为数据类型 数据类型,其实在我们生活中经常被使用,但是在编程语言中被重新定义了一下,并且加 ...

  7. 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量

    非零基础自学Golang 文章目录 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量 3.1.1 声明变量 3.1.2 初始化变量 3.1.3 变量值交换 3.1.4 匿名变量 ...

  8. 「建模调参」之零基础入门数据挖掘

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

  9. 【零基础入门数据挖掘】-建模调参

    Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...

最新文章

  1. Linux中常用到的命令
  2. Web前端学习路线分享,初学者不要错过!
  3. c语言指针在左还是右,C语言学习之指针的右左法则
  4. c#url拼接方法名_c# 获取url参数的五种方法
  5. python如何实现支持中文
  6. qdir安装 多窗口资源管理软件
  7. system volume information是什么文件_如何扩展Unity URP的后处理Volume组件
  8. 基于WebQQ3.0协议写一个QQ机器人
  9. 浙江财经大学是一所怎样的学校?
  10. 机器学习-预测之BP神经网络模型原理及实战
  11. Oracle (08)JDBC
  12. 写博客的2年,我有12万+粉丝了,还上了百度百科!
  13. cast 和convert和concat详解以及mysql和sqlserver兼容问题
  14. 宝塔面板nginx域名配置
  15. springboot 调用方法事物_springboot中使用@Transactional注解事物不生效的坑
  16. MA、EMA、SMA、DMA、TMA、WMA
  17. DIM的全称及本来意义
  18. 浙大计算机科学与技术专业分数线,浙江大学数学系分数线
  19. CentOS 定时运行脚本配置
  20. C++ Float和Double类型的有效位解释

热门文章

  1. 可怕!贺建奎论文手稿意外曝光!基因编辑实验充满谎言
  2. 一文详解 HTTP 协议
  3. HTML5游戏验证码,让验证码美好一点
  4. WordZ:Word终结者,基于Google API的文档自动化 电子合同发票流水账单线上集成方案
  5. centos7扩展磁盘空间
  6. 【银河麒麟V10】【服务器】ftp使用介绍及常见场景搭建
  7. Android IpReachabilityMonitor IP LOST_PROVISIONING
  8. 高项论文(范围管理)
  9. 安防,弱电,智能化,网络,IT,BIM,EPC,智能楼宇等证书考试培训,学历提升以及3A企业认证;
  10. Linux生成可执行文件