怎么在ts文件中如果进行使用基本类型约束(怎么使用)
重声一下:TS是一个可选的静态类型系统,你可以使用也可以不使用不强求
类型约可以约束什么?
有变量、函数的参数、函数的返回值;在定义变量时就先告诉它该变量是什么类型; 在定义函数参数时约束参数的类型还有参数的返回值类型等;等到在使用这些变量、参数、返回值时就会进行类型检查,看你有没有违反约束
如何约束?
仅需要在变量、函数的参数、函数的返回值位置上加上:类型
- 变量 let name:string; 注意这个类型是小写的不是大写的; 如果后面修改 name=222则会报错,不符合它的约束;让你去修改其代码
let study:string;
study = "fcc study ts";
- 函数参数与返回值的约束:
在参数后面加上约束类型;
let study:string;
study = "fcc study ts";
function add(n1:number,n2:number):number {
return n1 + n2;
}
- 而返回值约束则是在函数括号():类型后面加约束类型就可以; 这里值得注意,如果加了返回值约束类型,函数的返回值则不能去返回其他的数据类型,否则会报错;如果想要改变其返回类型,则不写返回值类型约束
let study:string;
study = "fcc study ts";
function add(n1:number,n2:number):number {
return n1 + n2;
}
- 注再不写返回值的类型情况下如果你直接返回的是参数计算值,没有任何其他去改变其类型的操作, 当你调用函数时它默认的返回值就是你参数定义相同类型的值
- 当我们在返回值中去加一些其他操作时就会改变其默认的数据类型约束
- 返回时 加一个字符串 就加上面的name;结果函数的返回类型就变成了其他的数据类型
- 返回的是一个对象,则会显示对象内容的类型,依次显示
- 如果返回的是一个数组:
- 如果数组里面每一项都是字符串则显示字符串数组string[];
- 如果都是数字则显示number[],
- 如果既有数字又有字符串则显示(string|number)[]
- 如果数字里面既有对象又有数组又有字符串则显示(string|number|{内容})[]
4.any类型:当变量、函数的参数、函数的返回值没有进行类型约束,则这个写数据的类型则表示任意的any类型,则ts没办法推导出该数据的类型;
源代码和编译结果的差异