提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • ts是js的超集
  • 数据类型
    • 一.TypesScript 和JavaScripte 一样不分整数类型和浮点类型
      • 1.number类型
      • 2.boolean类型
      • 3.string类型
      • 4Array类型
      • 5.objcet对象类型
      • 6.null类型
      • 7.undefined类型
      • 8.symbol类型
    • 二。Typescript类型
      • 1any类型
      • 2.unknown类型
      • 3.void类型
      • 4.never类型
      • 5.tuple类型(元组)
  • 补充
    • 1函数的参数和返回值类型
    • 2.匿名函数的参数类型
    • 3.对象类型.可选类型
    • 4.联合类型
    • 5可选类型和联合类型的关系
    • 6.类型别名

提示:以下是本篇文章正文内容,下面案例可供参考

ts是js的超集

数据类型

一.TypesScript 和JavaScripte 一样不分整数类型和浮点类型

1.number类型

二进制 0b123 八进制0o123 十六进制0x123abcdef

2.boolean类型

const status=true/ false

3.string类型

const name=“123123123123”

4Array类型

1.第一种写法:

const name:Array<number>=[123,123,123] //类型注解:type onnototion

不推荐 在react jsx 中会发生冲突

2.第二种写法:

const name:number[]=[]

推荐

再ts中数组类型存放相同数据类型比较好

5.objcet对象类型

1.cosnt info={

name:“chen”,

age:18

}

对象中会自己推导类型,

2.const info:obgect={

name:“chen”,

age:18

}

也可以const info:object={},不过不推荐,能推导尽量推导

它在取值的时候要用类型断言来获取 info.name是去不到的

6.null类型

1.const num:null=null

它只有一个值就是null,最好给它注解一个:null类型,因为它推导的话是any类型

2.const num:string=null

num=“abc”

这个也可以,开启严格模式就不行了

7.undefined类型

const num :undefined=undefined

它只有一个值那就是undefined

8.symbol类型

const title1=Symbol(“title”)

const title2=Symbol ("tiltle")

const info ={

[ title2 ] : "老师"

}

export{}

二。Typescript类型

1any类型

const message:any = “123"

message=123

message=true

message={}

any它可以是任何类型

在某些情况下,我们确实无法确定一个变量的类型,并且可能它会发生一些变化,这个时候我们就可以使用any类型(类似于Dart中的dynamic类型)

2.unknown类型

unkonwn 不确定的类型,和any有点类似,但不形同

unknown类型只能赋值给any和unknown类型可以防止再别的地方乱用出现安全隐患

any可以赋值给任意类型太灵活了

3.void类型

void通常指定一个函数是没有返回值得,name他的返回值就是void类型

可以将null和undefined赋值给void类型,函数是可以返回null和undefined的

function sum (num1:number,num2:number){

console.log(num1+num2)

}

sum(20,30)

void可以不用写

4.never类型

当一个函数永远没有返回值的时候用never进行注解

function foo():{

//死循环

while(true){
}

}

当函数返回异常的话也是可以使用never的

function bar():never{

throw new Error()

}

一般用在核心函数上

5.tuple类型(元组)

tuple是元组类型,很多语言中也是有这种数据类型,比如Python,Swift等

tuple元组:多中元素的组合

数组的话我们没有办法确定拿到的元素的类型,这个时候我就要用到元组

const info:[string,number,number]=['abc',123,456]

后边的赋值要和前边的对应它可以确定每个元素的类型

泛型写法

补充

1函数的参数和返回值类型

function sum(num1:number,num2:number):number{

return num1+num2

}

给函数加上类型注解,返回值也可以加上类型注解不写的话就会自动推导

2.匿名函数的参数类型

3.对象类型.可选类型

{x:number,y:number,z?:number} 对象中有一个是可选属性就加上?

function printPoint(point:{x:number,y:number,z?:number}){

lconsole.log(point.x)

lconsole.log(point.y)

}

printPoint({x:123,y:123})

printPoint({x:123,y:123,z:321})

4.联合类型

TyoeScript的类型系统允许我们是用多种运算符,从现有类型中构建新类型

第一种联合类型的方法(Union Type)

联合类型是有两个或者多个其他类型组成的类型

表示可以试着累累你高兴的任何一个值

联合类型中的每一个类型北城职位联合成员(union‘s members)

function printID(id:number|string|boolean){

console.log(id)

}

printID(123)

printID("qwe ")****

printID(true)

在使用联合类型的值的时候要特别小心需要判断(norrow)缩小

function printID(id:number|string|boolean){

if(typrof id ==="string"){

console.log(id.toUpperCase())

}else{

console.log(id)

}

}

printID(123)

printID("qwe ")

printID(true)

5可选类型和联合类型的关系

让函数的参数本身是可选的

一个参数的一个可选类型的时候,他其实类似于联合类型

function foo(message?:string){

lconsole.log(message)

}

foo() //不写参数也不会报错

function foo2(message:string | undefined){

lconsole.log(message)

}

foo2(undefined)//需要传一个参数或者undifined

6.类型别名

相当于赋值的写法需要用到type关键字(type关键字就是用来定义我们的类型别名)

type UnionType = string|number|boolean

type PointType={

x:number,

y:number,

z:number

}

function printIId(id:UnionType){

}

function printPoint(point:PointType){

}

会在第三方库里边经常见(type olios)

基础TypeScript(一)相关推荐

  1. typescript箭头函数参数_Typescript 入门基础篇(一)

    Typescript 基础 Typescript是Javascript的一个超集.以下typescript简称为ts, 此文章主要是对ts官网文档的一个简化,缩短学习基础时间. 类型基础 ts 的类型 ...

  2. 2021年前端最新技术是什么?本篇汇总完整前端学习路线图

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 第一阶段:前端入门HTML5 +Css3+电商网页制作 第二阶段:JavaScript系列 JavaScript 基础 ...

  3. python工程师需要什么学历,python工程师怎么考证

    python认证证书有哪些 python认证证书有很多,比如常见的证书有:全国计算机等级考试Python程序语言设计.Python Institute资格认证初级PCEP证书.Python Insti ...

  4. 【】Unity3D 等 技术目录

    ‎时间:2017‎年‎6‎月‎29‎日 []Unity3D Unity3D游戏开发 脚本系统 Unity3D地形编辑器 Unity3D 音频系统 Unity3D 灯光系统 Unity3D 五子棋大战 ...

  5. TypeScript基础入门 - 接口 - 继承接口

    转载地址 TypeScript基础入门 - 接口 - 继承接口 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.13 为 ...

  6. TypeScript基础入门 - 泛型 - 泛型类型

    2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 泛型 - 泛型类型 项目实践仓库 https://github.com/durban8 ...

  7. TypeScript基础入门 - 函数 - 简介

    2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/ ...

  8. typescript利用接口类型声明变量_TypeScript入门指南(基础篇)

       戳蓝字「前端技术优选」关注我们哦! 作者:慕晨同学 原文地址:https://github.com/USTB-musion/fee-skills/issues/19 写在前面 ts是拥有类型系统 ...

  9. TypeScript基础入门 - 接口 - 可索引的类型

    转载地址 TypeScript基础入门 - 接口 - 可索引的类型 项目实践仓库 https://github.com/durban89/typescript_demo.git tag: 1.0.11 ...

最新文章

  1. 报道 | 1899篇论文、1329个机构、6012位作者,NeurIPS 2020谁在独领风骚?
  2. GitHub学习笔记
  3. 爬虫python需要什么软件-Python爬虫需要学习那些东西?
  4. 新手vue构建单页面应用实例
  5. 展望企业级移动设备的操作系统
  6. 解决在linux跑连接sql server老版本会报错的问题
  7. [LeetCode] Power of Four
  8. 相机标定(六)—— 张正友标定法
  9. 【Android Studio安装部署系列】三十一、从Android studio3.0.0升级到Android studio3.0.1
  10. windows7和windows10下安装xgboost
  11. Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
  12. SQL日期函数获取系统当前时间
  13. python|cookie和session介绍——以12306验证码破解
  14. 熵、互信息与相对熵的关系
  15. webservice的接口测试工具
  16. 根据前序遍历和中序遍历的结果重建二叉树
  17. 设计模式之观察者模式——猫抓老鼠2
  18. 微弱电流检测放大器PCB布线布局设计
  19. ThinkPad-T480-OpenCore0.7.5-黑苹果EFI
  20. CMOS工艺,Al/Si接触中的尖楔现象

热门文章

  1. Orcal学习----初识Orcal
  2. mobaXterm安装pycharm
  3. 锐捷无线CAPWAP隧道技术原理
  4. Slot Filling详细讲解
  5. 数字图像与机器视觉基础2
  6. 基于LS1028 TSN时间敏感网络交换机方案(一)TSN介绍
  7. docker轻量级编排创建工具Humpback
  8. QC新旧七图汇总连载1——因果图
  9. Gecco学习笔记(十一)
  10. Duang 用户细分四大秘诀,你知道吗?