TypeScript技术(三)基础类型学习!!

目录

简介

TypeScript的类型

基本类型

 其他类型

 高级类型

各类型介绍

Number数字类型

String字符串类型

boolean布尔类型

Array数组类型

 tuple元组类型

联合Union类型

 字面量类型

枚举Enum类型

Any类型

unknown类型

void类型

never类型​

类型适配Type Assertions

函数类型

总结


简介

TypeScript的定义以及优势,想必大家在前几篇文章中都已经学习到了;接下来,我们开始学习一下TypeScript中的Type也就是数据类型,每一个技术都有它自己对应的声明方式以及类型的定义。

让我们一起学习以下知识吧!!!!

TypeScript的类型

TypeScript与普通的Javascript最大的区别就是对类型的强定义。它给JavaScript带来了多种基本类型,同时程序员也可以定义类型。

基本类型

 其他类型

 高级类型

  • union组合类型
  • Nullable可空类型
  • Literal预定义类型

各类型介绍

Number数字类型

对数字的定义只有一个很笼统的number来表示;既能表示整数、也能表示浮点数,甚至也可以表示正负数。

例如:1,5.3,-10

从本质上来说,Javascript并没有严格区别各种类型之间差异,于是基于JS创建出来了TS,所以在TS中使用number数字类型进行表示,还可以极大限度的保留JS的灵活性。

String字符串类型

举例:“hello”,‘hello’,`hello` 

第三个是反引号:``,可以创建一个字符串模板,可以实现分段跟行,和填充变量。

与JavaScript一致。

boolean布尔类型

真 true、假 false

Array数组类型

数组:[]

数组中可以存放任意类型的数据

JS中数组的宽容度非常大,而TS也很好的继承了这一点

 

 

 tuple元组类型

Tiu破,踏破

联合Union类型

一个变量同时支持多个类型,中间使用 | 分隔。

 字面量类型

可以理解为是联合Union类型的样子,只不过是换成了具体的值,而不是string|number这样的类型了。

 可以看到,union3 = 4报错了,这也就证明,此刻union3只能包含0,1,2三个数值。

枚举Enum类型

 

 可以看出,如果没有指定默认值,则会使用下标索引。

Any类型

any顾名思义,就是不知道是什么,任何的,任意的。所以使用any类型,就是可以是任意类型。

unknown类型

unknown不知道的意思,也就是说,不知道该变量是什么类型。但是能确保它是个未定义的属性,而不是函数。

 如果不进行判断类型,则会报错。

void类型

void就是没有返回值。表示该东西压根不存在。

 可以看出,该函数就是void类型,不需要返回值。

undefined类型

undefined类型表示,变量没有初始化。

 这样会报错,原因是没指定返回值。


void和undefined的区别:与undefined的区别不是一个语法问题,而是一个哲学问题。是区别存在于不存再的 问题。void表示本身压根不存在,undefined表示本身未初始化,但是存在。


never类型

 可以看出,该函数进入之后就直接抛出异常,可想而知,这个函数永远也不会执行到最后一个大口号,所以这样的就称为never类型。

类型适配Type Assertions

通知TypeScript进行类型适配的过程就称为断言。

举例:

鼠标悬浮到message上,可以看到依然是any类型。所以就算我们给赋值为字符串,也不会改变初始类型。所以message不能使用专门针对字符串的endWith()内嵌函数的.

 在这种情况下,本意是想要称为字符串类型的,所以我们要明确给TypeScript该message是什么类型,所以这就用到了断言,也可以称为类型适配。

所以有两种使用断言的方式

 

 注意:如果使用断言,则需要有信心保证不会出问题,不然很容易出类型相关的异常。。。

函数类型

函数相信不用过多的跟大家说了吧,会JavaScript的朋友们,应该都很熟悉了,无处不在写函数。

 或者es6的方式定义:

 TypeScript的方式,唯一区别就是再参数上可以明确指定类型。

再调用TypeScript的函数时如果有两个参数,则必须全部传入,而且类型必须一致,不然会报错。

错误的调用写法: 


总结

TypeScript的基础类型语法,就讲到这里,在这里没有很详细的说,但是都是精髓,啊哈哈哈,肯定可以学会。再加上如果有的朋友学过python、JavaScript、Java这些语言的话,很快就可以上手。不管学什么,学多少,都要动手练习, 多动,多做,少说闲话,孰能生巧。加油吧,小伙伴们!!!

作者:筱白爱学习!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

筱白爱学习

你的鼓励将是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值