Typescript学习笔记(1.0)

1.ts开发环境:先安装Node,然后执行命令npm i -g typescript,这里使用的是npm命令,也可以使用pnpm和yarn安装,不过需要额外安装pnpm 和yarn。

2.第一个一ts为后缀的文件,使用命令:

tsc *.ts

就会生成对应的js文件。

3.基本类型

语法:let 变量:类型=值

function fn(参数:类型,参数:类型,。。。):返回值类型{

}

4.特殊:如果变量声明和赋值同时进行,ts会自动进行类型推断(基本数据类型)。

5.其他类型:

字面量:let a:10;  表示a的类型为10,如果a=11进行赋值就会报错。(有点常量的感觉)

使用|符号:表示或,称之为联合类型。如:let b:  string | number;

any:表示任意类型,一个变量设置为此类型后,相当于关闭了TS类型检测。

let c:any;  与let c;等价,ts解析器会自动设置为any

unknown:表示未知类型的值。

let d:unknow

他与any的区别是不能随意赋值,如果把一个unknown类型的值赋值给别的值,就会报错,而any不会报错,并且将自己的类型赋值给被赋值的那个变量。

类型断言:

s=e as string,意思为:就将e当做字符串,并赋值给s

作用就是告诉ts解析器某一个变量的类型,另一种写法:<类型>变量

void:常用于设置函数返回值,如果没有指定函数的返回值类型,会自动被认为返回值的类型为void。

never:表示没有值,用于函数时,表示函数永远不会返回结果

function fn():never{}

object:表示对象类型

let a:object;  在js中,一切都是对象,所以在实际中不常用于作为类型。

let b:{name:string,age?:number} 表示b中需要有name属性,并且类型是string,在代码中加一个问号?表示该属性是可选的。常用语指定对象中可以包含哪些属性。

如果要设置为除了必有的属性,其他的随意,可以写成以下形式

let c:{name:string,[abc:string]:any},其中abc可以随意起名,该类型声明表示c中只要包含name属性,其他的属性有或无都随意。

let d:Function与之类似

let d:(a:number,b:number)=>number;

表示d函数有两个参数,并且返回值为number类型。

array:数组

let a:string[];  表示a是一个数组,并且数组中的元素都是字符串

let b:Array<number>;意思和上面的一样,只是另一种表达方式,表示数组b中的元素都是数值类型。

tuple:元组

类似于数组,但是固定了数组的长度

let c:[string,string];  表示数组c的长度为2,并且两个值的类型是字符串

enum:枚举

let d:{name:string,gender:string};

i.gender==='男'

gender在几个值之间进行选择,就可以使用枚举

enum Gender{

Male=0,

Female=1

}

就可以改写成

let d:{name:string,gender:Gender};

补充:

let e:{name:string} &{age:number};    &表示且的意思,注意与 | 区分,一个是同时满足,一个是满足一个即可。

类型别名:

type myType=string

let f:myType 与let f:string等价

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值