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