【TS】基本类型

基本类型

类型例子描述
number1, -33, 2.5任意数字
string'hi', "hi", hi任意字符串
booleantrue、false布尔值true或false
字面量其本身限制变量的值就是该字面量的值
any*任意类型
unknown*类型安全的any
void空值(undefined)没有值(或undefined)
never没有值不能是任何值
object{name:'孙悟空'}任意的JS对象
array[1,2,3]任意JS数组
tuple[4,5]元素,TS新增类型,固定长度数组
enumenum{A, B}枚举,TS中新增类型

  1. 布尔值 (Boolean)

    let isDone: boolean = false;

  2. 数字 (Number)

    let decimal: number = 6;
    let hex: number = 0xf00d;
    let binary: number = 0b1010;
    let octal: number = 0o744;
     
  3. 字符串 (String)

    let color: string = "blue";
    color = 'red';
     
  4. 数组 (Array)

    let list: number[] = [1, 2, 3];
    
     // 使用数组泛型
    let list: Array<number> = [1, 2, 3];
     
  5. 元组 (Tuple)

    let x: [string, number];
    
    // 正确
    x = ["hello", 10]; 
    
    // 错误
    x = [10, "hello"]; 
     
  6. 枚举 (Enum)

    enum Color {Red, Green, Blue}
    let c: Color = Color.Green;
     
  7. 任意 (Any)

    let notSure: any = 4;
    
    notSure = "maybe a string instead";
    
    // 正确,any 类型可以赋值为任何类型
    notSure = false; 
     
  8. 空值 (Void)

    function warnUser(): void {
      console.log("This is my warning message");
    }
    // 通常用于函数没有返回值的情况
    let unusable: void = undefined; 
     
  9. Null 和 Undefined

    let u: undefined = undefined;
    
    let n: null = null;
     
  10. Never

    function error(message: string): never {
      throw new Error(message);
    }
    function infiniteLoop(): never {
      while (true) {}
    }
     
  11. 对象 (Object)

    let obj: object = { prop: 0 };
     

类型断言

类型断言允许你手动指定一个值的类型。有两种形式:

  1. 尖括号语法

    let someValue: any = "this is a string";
    let strLength: number = (<string>someValue).length;
     
  2. as 语法

    let someValue: any = "this is a string";
    let strLength: number = (someValue as string).length;
     

联合类型

联合类型允许一个变量拥有多个类型之一:

let value: string | number;

// 正确
value = "hello"; 

 // 正确
value = 10;

// 错误
value = true; 
 

交叉类型

交叉类型允许一个变量拥有多个类型的所有特性:

interface A { a: number }

interface B { b: string }

let x: A & B = { a: 1, b: "hello" };



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值