TS学习(三) :怎么使用TS类型约束(如何使用TS)

怎么在ts文件中如果进行使用基本类型约束(怎么使用)

重声一下:TS是一个可选的静态类型系统,你可以使用也可以不使用不强求

类型约可以约束什么?

有变量、函数的参数、函数的返回值;在定义变量时就先告诉它该变量是什么类型; 在定义函数参数时约束参数的类型还有参数的返回值类型等;等到在使用这些变量、参数、返回值时就会进行类型检查,看你有没有违反约束

如何约束?

仅需要在变量、函数的参数、函数的返回值位置上加上:类型

  • 变量 let name:string; 注意这个类型是小写的不是大写的; 如果后面修改 name=222则会报错,不符合它的约束;让你去修改其代码

  • 函数参数与返回值的约束:
    • 在参数后面加上约束类型;
    • 而返回值约束则是在函数括号():类型后面加约束类型就可以; 这里值得注意,如果加了返回值约束类型,函数的返回值则不能去返回其他的数据类型,否则会报错;如果想要改变其返回类型,则不写返回值类型约束
    • function sum(a:number,b:number):number{
        return a+b
      }
      
    • 注再不写返回值的类型情况下如果你直接返回的是参数计算值,没有任何其他去改变其类型的操作, 当你调用函数时它默认的返回值就是你参数定义相同类型的值
    • 当我们在返回值中去加一些其他操作时就会改变其默认的数据类型约束
      • 返回时 加一个字符串 就加上面的name;结果函数的返回类型就变成了其他的数据类型
      • 返回的是一个对象,则会显示对象内容的类型,依次显示
      • 如果返回的是一个数组:
        • 如果数组里面每一项都是字符串则显示字符串数组string[];
        • 如果都是数字则显示number[],
        • 如果既有数字又有字符串则显示(string|number)[]
        • 如果数字里面既有对象又有数组又有字符串则显示(string|number|{内容})[]

any类型:当变量、函数的参数、函数的返回值没有进行类型约束,则这个写数据的类型则表示任意的any类型,则ts没办法推导出该数据的类型;

想到一个东西,我们常用的电话号码一般是什么类型,有点人觉得可以是数字,而有的人认为应该是字符串;

一般情况下数字类型我们的叫法都是几百几千几万几亿的叫法,这样的才是数字,

而电话号码总不能像数字一样的读法吧,所以手机号都是string类型,还有一些比如学号、身份证、工号等都是字符串

源代码和编译结果的差异

编译完成之后ts文件与编译后的js文件一对比,

你会发现唯一的区别就是在js文件中我们的类型约束没有了,

这说明在运行过程中是没有ts的代码的,ts是静态的在开发的时候才会去执行,编译运行后就没有ts代码了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值