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等价
原文地址:https://blog.csdn.net/mez_Blog/article/details/140639169
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!