美文网首页
学习TypeScrip(原始数据类型1)

学习TypeScrip(原始数据类型1)

作者: jamesXiao_ | 来源:发表于2023-03-14 17:55 被阅读0次

    JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。

    原始数据类型包括:字符串、数值、布尔值、nullundefined 以及 ES6 中的新类型 Symbol 和 ES10 中的新类型 BigInt

    本节主要介绍前五种原始数据类型在 TypeScript 中的应用。

    原始数据类型

    String、Number、Boolean、null、undefined 以及 ES6 的 Symbol 和 ES10 的 BigInt

    1. 字符串类型

    // 普通声明
    let name: string = '名字'
      
    // 可以使用es6的模板字符串
    let my:string = `我的${name}`
    

    2. 数字类型

    let notANumber:number = NaN // NaN
    let num:number = 123 // 普通数字类型
    let infinityumber: number = Infinity // 无穷大数字
    let binary:number = 0b1010 // 二进制
    let octal:number = 0o744 // 八进制
    let decimal:number = 10 // 十进制
    let hexadic:number = 0xf00d // 十六进制
    

    3.布尔类型

    使用 new Boolean() 创造的对象不是布尔值
    // 会报错 new Boolean() 返回的是一个 Boolean 对象
    let newBoolean:boolean = new Boolean(1)
      
    // 修改为 Boolean 对象
    let newBoolean:Boolean= new Boolean(1)
    
    // 正常使用
    let boolean:boolean = true
    let boolean2:boolean = Boolean(1) 
    

    4.Null和undefined类型

    // 定义null
    let n:null = null
    // 定义undefined
    let u:undefined = undefined
    

    5.Void类型

    表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void

    function warnUser(): void {
      console.log("This is my warning message");
    }
    

    声明一个void类型的变量没有什么大用,因为你只能为它赋予undefinednull

    let unusable: void = undefined;
    let unusable: void = null;
    

    与 void 的区别是,undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 string 类型的变量

    //这样写会报错 void类型不可以赋值给其他类型
    let test:void = undefined
    let num:number = 2
    num = test
    
    // 这样写没问题
    let test:undefined= undefined
    let num:number = 2
    num = test
    // 或者这样写
    let test:null= null
    let num:number = 2
    num = test
    

    而 void 类型的变量不能赋值给 number 类型的变量:

    let u: void;
    let num: number = u;
    
    // Type 'void' is not assignable to type 'number'.
    
    TIPS:注意

    如果你配置了tsconfig.json 开启了严格模式

    {
        "compilerOptions":{
            "strict": true
        }
    }
    
    viod严格模式.png

    相关文章

      网友评论

          本文标题:学习TypeScrip(原始数据类型1)

          本文链接:https://www.haomeiwen.com/subject/zenhldtx.html