TypeScript 系列(一):TS 核心概念

本文是TypeScript系列的第一篇,介绍了TS的核心概念,包括类型推断、类型定义(如字面量对象、class)、类型组合(Union、Generics)以及结构类型系统。文章通过实例解释了TS如何帮助开发者通过类型系统避免错误,强调了鸭子类型的含义和重要性。
摘要由CSDN通过智能技术生成

1 前言

昨天在掘金上看到了一篇 TypeScript5,是的,TS 都更新到 5 了,我还没开始正式使用。为了赶上时代的潮流,我尝试在自己写的小项目中使用了 TS,然而,直接裂开……于是就有了这个系列,我准备攻克这门技术,并把所思所想记录下来。

image.png

我打开了 TS 英文文档,等一下,如果你要问我,为什么打开英文文档,我想说我也很懒想看中文文档,可是中文文档有两点弊端:

  • 中文更新不及时
  • 存在部分内容不翻译
  • 有些内容翻译过来就变了味

作为一个前端程序员,在 Get Started 中我选择 TypeScript for JavaScript Programmers。 这一篇教程告诉我们一件事:JS 的语法 TS 全有,TS 比 JS 多了一层类型系统(Type System):

  • 类型推断(Types by Interface)

  • 类型定义(Defining Types)

  • 类型组合(Composing Types)

    • 类型联合(Unions)
    • 泛型(Generics)
  • 结构化类型系统(Structural Type System)

以上就是 TS 与 JS 主要不同的地方,也是 TS 的主要概念,我们一个一个看。

2 类型推断(Types by Interface)

image.png

Types by Interface,通过推断而产生类型。啥意思呢?就是你和平时写 JS 一样去写 TS 的变量声明和赋值,TS 会根据值的类型去推断你声明的变量属于什么类型。例如:

image.png

1 被赋值给变量 a,1 属于基础类型中的 number 类型,因此显而易见的是,变量 a 的类型就是 number。

这里可能会产生一个疑问:TS 帮我们推断变量类型的意义是什么?为了让我们像静态语言那样,固定变

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值