IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> TS学习(三) :怎么使用TS类型约束(如何使用TS) -> 正文阅读

[JavaScript知识库]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代码了

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:41:13  更:2022-03-13 21:44:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:33:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码