ts 之 变量核数据类型

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(会报错)

猜你喜欢

转载自blog.csdn.net/weixin_47409897/article/details/124717033