专栏首页Web前端开发TypeScript 类型注解和类型推断

TypeScript 类型注解和类型推断

一、类型注解(Type annotation)

所谓类型注解,就是人为为一个变量指定类型,例如:

const a: number = 123;

在 vscode 中鼠标移入 a 出现提示,冒号后面就是类型注解:

当不添加类型注解时,TypesScript 也能知道变量 a 是一个数字,这就是 TypeScript 的类型推断:

二、类型推断(Type inference)

所谓类型推断就是 TypeScript 可以通过变量值倒推变量类型,因此在绝大部分情况下,我们是不需要去写类型注解的

但有些情况类型推断是无法推断变量类型的,例如函数的参数:

function getSum(a, b) {
  return a + b;
}
const num = getSum(1, 2);

上面代码中的参数 a,b 就无法类型:

从而也导致了 num 的类型不能判断:

这时就需要类型注解来为参数指定类型:

function getSum(a: number, b: number) {
  return a + b;
}
const num = getSum(1, 2);

这样 num 就可以推断出类型了:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vue计算属性和侦听器

    模板内的表达式非常便利,但放入太多的逻辑会让模板过重且难以维护,所以,对于复杂的逻辑,可以使用计算属性 computed。

    Leophen
  • React中的State与Props

    一个组件的显示形态可以由数据状态和外部参数决定,其中,数据状态为 state,外部参数为 props

    Leophen
  • 常见排序算法的稳定性分析

    我们知道堆的结构是节点i的孩子为 2*i 和 2*i+1 节点,大顶堆要求父节点大于等于其 2 个子节点,小顶堆要求父节点小于等于其 2 个子节点。

    Leophen
  • 重新理解响应式编程

    这是前段时间我在公司内部Android组的技术分享会上,以响应式编程为主题做的一个专题分享,反馈还不错,但是也有很多问题,因此我根据反馈重新修改和完善了相关的论...

    黄泽杰
  • 打通工业物联网的“最后一公里”, 构建顶级SMT贴片厂

    麦肯锡研究院最新预测,到2025年工业4.0模式带来的经济影响价值将达每年1.2万亿美元至3.7万亿美元。埃森哲联合Frontier Economics预估了工...

    Hightopo图扑软件
  • Jenkins 多环境 CI/CD 架构设计

    自动化部署主要是为了解决项目多、环境多、持续集成慢、部署操作麻烦、手动操作易出错、自动化运维等问题。

    DevOps持续交付
  • 炒币有风险,AI算法帮助识别ICO诈骗

    【新智元导读】中国创业公司香侬科技(Shannon.AI)与斯坦福大学、加州大学圣塔芭芭拉分校以及密歇根大学的研究人员合作,发布了一份白皮书,详细介绍了用机器学...

    新智元
  • 《Groovy极简教程》第2章 Groovy基础数据类型《Groovy极简教程》第2章 Groovy基础数据类型Groovy 交互命令行控制台基本数据类型

    命令groovyConsole :启动图形交互控制台 命令groovysh :启动shell命令交互

    一个会写诗的程序员
  • 科普Lombok

    最近公司开始了一个新的项目,使用SpringCloud作为技术选型。自然开发任务也就来了,从git上拉取代码之后,就发现实体里面没有setter和getter方...

    陈琛
  • 细说java之编码

    JAVA编程中涉及的编码 1.J2EE中涉及的编码 (1) HttpServletResponse响应内容编码:

    2Simple

扫码关注云+社区

领取腾讯云代金券