基础TypeScript(一)

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

文章目录

  • 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=[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)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部