目录
ts 之 变量核数据类型
定义ts的类型
定义为 Number类型
let num:Number = 10;
num = "我是菜鸡" => 会报错 Type 'string' is not assignable
to type 'Number'.
// num = 100
console.log("num",num);
定义为String 类型
let num:String = "我是菜鸡";
定义为 Boolean 类型
let num:Boolean = true;
undefined 与 null
let underF:undefined = undefined
let nul:null = null
定义数组
- 定义数组元素为 全Number 或 String 或者 any(任意类型)
let arr:Array<Number> = [1,2,3]
let arr2:Array<String> = ["01","02"]
let arr3:Array<any> = [
"01",
10,
{
age:2
}
]
定义元组
// 定义元组
let arr:[Number,String,Boolean] = [1,"01",true]
arr[0] = 10
定义枚举
// 定义枚举值
// 01创建枚举值
enum Gender {
Boy = 1,
Girl=2,
UnKnowm=3
}
// 02:使用枚举值
console.log("Gender",Gender.Boy); // Gender 1
enum Gender2 {
Boy ,
Girl,
UnKnowm
}
console.log("Gender2",Gender2.Boy); // Gender2 0
let userSex:Gender2 = Gender2.Boy
console.log("userSex",userSex); // userSex 0
any 任意类型
void 函数没有返回值 定义函数 (有返回值 与 没有返回值)
// 定义函数
function fun1():string{
// 返回值为 string 类型
return "我是菜鸡"
}
console.log("fun1",fun1()); // fun1 我是菜鸡
function fun2():Number{
// 返回值为 Number 类型
return 100
}
console.log("fun2",fun2()); // fun2 100
function fun3():void{
// 无返回值
console.log("无返回值"); // 无返回值
}
console.log("fun3",fun3()); // fun3 undefined
never 不存在的值类型 用于抛出异常 或者死循环
类型推断
联合类型
let num:String | Number = 10
ts函数篇
函数没有返回值 定义函数 (有返回值 与 没有返回值)
// 定义函数
function fun1():string{
// 返回值为 string 类型
return "我是菜鸡"
}
console.log("fun1",fun1()); // fun1 我是菜鸡
function fun2():Number{
// 返回值为 Number 类型
return 100
}
console.log("fun2",fun2()); // fun2 100
function fun3():void{
// 无返回值
console.log("无返回值"); // 无返回值
}
console.log("fun3",fun3()); // fun3 undefined
形参 与 实参
function fun1(arg1:Number,arg2:String):String {
let res:String = "";
res = arg1 + "" + arg2;
return res
}
console.log("fun1",fun1(1,"001")); // fun1 1001
- 注意点
可选参数 ( 就是 可传 可不传 )
function fun1(arg1:Number,arg2?:String):String {
let res:String = "";
res = arg1 + "" + arg2;
return res
}
console.log("fun1",fun1(1,"001")); // fun1 1001
console.log("fun1",fun1(100)); // fun1 100undefined
默认值 ( 为函数 参数 设置默认值 )
- 注意点:形参只要设置了默认值,那么就不需要设置 可选参数 配置了!
function fun1(arg1:Number = 1,arg2:String='01'):String {
let res:String = "";
res = arg1 + "" + arg2;
return res
}
console.log("fun1",fun1(1,"001")); // fun1 1001
console.log("fun1",fun1()); // fun1 101
console.log("fun1",fun1(222)); // fun1 22201
console.log("fun1",fun1(undefined,"000")); // fun1 1000
剩余参数
function add(arg1:number=1 ,arg2:number=1,...arr3:Array<number>):number {
let res:number = arg1 + arg2 ;
for(let item of arr3){
res += item
}
return res
}
console.log("add",add()); // add 2
console.log("add",add(1,1,2,2,2)); // add 8
// 注意点 就是 add 函数之内,类型需要 定义为 number 不能定义为 Number(会报错)