Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >TypeScript 类型注解和类型推断

TypeScript 类型注解和类型推断

作者头像
Leophen
发布于 2020-07-23 01:14:35
发布于 2020-07-23 01:14:35
1.2K00
代码可运行
举报
文章被收录于专栏:Web前端开发Web前端开发
运行总次数:0
代码可运行

一、类型注解(Type annotation)

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const a: number = 123;

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

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

二、类型推断(Type inference)

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getSum(a, b) {
  return a + b;
}
const num = getSum(1, 2);

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getSum(a: number, b: number) {
  return a + b;
}
const num = getSum(1, 2);

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【TypeScript】类型推断
当我们在TypeScript中声明变量但没有明确指定其类型时,TypeScript会尝试根据变量的值进行类型推断。这样可以帮助我们避免手动指定所有类型,使代码更简洁,同时也提供了更好的类型安全性。下面是一些关于类型推断的案例,详细描述每个案例的类型推断过程:
星辰大海c
2023/11/03
4480
【TypeScript】类型推断
《现代Typescript高级教程》类型推断
TypeScript通过类型推断可以自动推导出变量和表达式的类型,提高代码的可读性和可维护性。
linwu
2023/07/27
2200
TypeScript入门秘籍:快速掌握静态类型编程
TypeScript是一种静态类型的JavaScript超集,它添加了可选的类型注解,使得代码更加健壮、易于维护。无论你是初学者还是有一定编程经验的开发者,这篇博客将带你快速入门TypeScript。
Front_Yue
2024/09/08
1500
TypeScript入门秘籍:快速掌握静态类型编程
【TypeScript 演化史 — 第七章】映射类型和更好的字面量类型推断
TypeScript 2.1 引入了映射类型,这是对类型系统的一个强大的补充。本质上,映射类型允许w咱们通过映射属性类型从现有类型创建新类型。根据咱们指定的规则转换现有类型的每个属性。转换后的属性组成新的类型。
Javanx
2020/05/09
3.8K0
【TypeScript 演化史 — 第七章】映射类型和更好的字面量类型推断
【项目总结】TypeScript基础
TypeScript解决了JavaScript存在的很多设计缺陷,尤其是关于类型检测的。从开发者长远的角度来看,学习TypeScript有助于前端程序员培养 类型思维,这种思维方式对于完成大型项目尤为重要。个人用起来感觉很像Java。
客怎眠qvq
2022/11/01
6650
【项目总结】TypeScript基础
TypeScript 中的变量声明:变量声明的语法、变量的作用域、变量的类型推断和类型断言
TypeScript 是一种由微软开发的静态类型编程语言,它是 JavaScript 的超集,并且可以在编译时进行类型检查。在 TypeScript 中,变量声明是非常重要的一个概念,它定义了变量的名称和类型。通过正确地声明变量,我们可以增强代码的可读性、可维护性和可扩展性。本文将详细介绍 TypeScript 中的变量声明,包括变量声明的语法、变量的作用域、变量的类型推断和类型断言等内容。
网络技术联盟站
2023/07/06
1K0
理解 TypeScript 条件类型与类型推断
在 TypeScript 中,条件类型与类型推断为开发者提供了强大的工具,用于灵活地定义复杂的类型。以下将逐步解析代码:
编程小妖女
2025/01/18
1390
理解 TypeScript 条件类型与类型推断
一文学懂 TypeScript 的类型 [每日前端夜话0x39]
如果你认为这段代码非常神秘 —— 那么我同意你的意见。但是(我希望证明)这些符号还是相对容易学习的。一旦你能理解它们,就能马上全面、精确的理解这种代码,从而无需再去阅读冗长的英文说明。
疯狂的技术宅
2019/03/27
2K0
一文学懂 TypeScript 的类型 [每日前端夜话0x39]
TypeScript 5.4:带来新的类型和一些 Break Change
大家好,最近 TypeScript 发布了 5.4 Beta 版本,其中包含了一些值得关注的新特性以及一些 Break Change,我们一起来看下吧:
ConardLi
2024/02/22
3700
TypeScript 5.4:带来新的类型和一些 Break Change
TypeScript 的数组类型
TypeScript 数组有一个根本特征:所有成员的类型必须相同,但是成员数量是不确定的,可以是无限数量的成员,也可以是零成员。
HelloWorldZ
2024/05/29
3170
TypeScript 官方手册翻译计划【二】:普通类型
在这一章中,我们的内容会涉及到 JavaScript 代码中最常见的一些数据类型,同时也会解释这些类型在 TypeScript 中的对应描述方式。本章节并不会详尽介绍所有类型,在后续章节中我们还会介绍更多命名和使用其它类型的方法。
Chor
2021/11/29
2.3K0
【TypeScript 演化史 -- 8】字面量类型扩展 和 无类型导入
在我上一篇更好的类型推断的文章中,解释了 TypeScript 如何用 const 变量和 readonly 属性的字面量始化来推断字面量类型。这篇文章继续讨论这个,扩展和非扩展字面量类型之间的区别。
前端小智@大迁世界
2022/06/15
1.1K0
【TypeScript 演化史 -- 8】字面量类型扩展 和 无类型导入
深入类型系统_TypeScript笔记8
编译器能够根据变量初始值3推断出变量类型是number,因此多数场景下不必显式声明类型,它猜得到
ayqy贾杰
2019/06/12
1K0
深入类型系统_TypeScript笔记8
TypeScript:为JavaScript增加语法和解决问题的利器
介绍: TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,为JavaScript增加了静态类型和一些新的语法特性。本文将结合具体的案例,详细介绍TypeScript在JavaScript的基础上新增了哪些语法,以及它是如何解决JavaScript中存在的一些问题的。
GeekLiHua
2025/01/21
960
TypeScript 基础语法入门指南
TypeScript 是 JavaScript 的超集,通过静态类型检查和丰富的语法特性,帮助开发者编写更健壮、可维护的代码。本文将从零开始介绍 TypeScript 的基本语法,帮助你快速掌握核心概念。
编程小白狼
2025/04/15
1500
typescript基础一览,助你从入门到放弃!
ts作为一个超级js,这两年是越来越火,我辈中人如何能不馋他,故观其大概后,迫不及待分享给大家,自己加深印象同时,又帮助大家,岂不美哉!本文分为三个部分,基础语法,进阶语法,以及高级语法,主要是讲解常用语法使用,方便以后忘记之处及时查阅!
用户7413032
2020/06/11
8370
typescript基础一览,助你从入门到放弃!
TypeScript 快速入门
由于这种强弱类型之分根本不是某一个权威机构的定义,一般描述强类型有更强的类型约束,而弱类型中几乎没有什么约束。
用户3045442
2020/08/06
1.6K0
TypeScript 快速入门
约束即类型、TypeScript 编程内参(一)
本文是《约束即类型、TypeScript 编程内参》系列第一篇:约束即类型,主要记述 TypeScript 的基本使用和语法。
腾讯IVWEB团队
2020/06/24
9630
Vue3 跟着尤雨溪学 TypeScript 之 Ref 类型从零实现
Vue3 中,ref 是一个新出现的 api,不太了解这个 api 的小伙伴可以先看 官方api文档。
ssh_晨曦时梦见兮
2020/04/16
7.4K0
开心的档之TypeScript 变量声明
声明变量没有设置类型和初始值,类型可以是任意类型,默认初始值为 undefined:
iOS程序应用
2023/03/24
7990
推荐阅读
相关推荐
【TypeScript】类型推断
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验