TypeScript 学习第一课 基本数据类型


教程来源于 小满TypeScript基础教程全集(完结)


  1. 字符串类型

     // ts 基本的数据类型
     //String类型的定义
     let str:string = 'Hello World!'
     //使用es6 定义String
     let muban:string = `web ${str}`

  2. 数字类型

    Ts支持十六进制、十进制、八进制和二进制

     // 数字类型的定义
     let notANumber: number = NaN;//Nan
     let num: number = 123;//普通数字
     let infinityNumber: number = Infinity;//无穷大
     let decimal: number = 6;//十进制
     let hex: number = 0xf00d;//十六进制
     let binary: number = 0b1010;//二进制
     let octal: number = 0o744;//八进制s

    image-20221221194348444

    image-20221221194438153

  3. 布尔类型

    注意:使用构造函数 Boolean 创造的对象不是布尔值:

     // 注意,使用构造函数 Boolean 创造的对象不是布尔值
     //let createdBoolean1:boolean = new Boolean(1)
     //报错 因为事实上 new Boolean() 返回的是一个 Boolean 对象,需要改成
     let createdBoolean:Boolean = new Boolean(1)
     ​
     let booleand:boolean = true //可以直接使用布尔值
     let booleand2:boolean = Boolean(1)  //也可以使用函数返回布尔值
     console.log(createdBoolean,booleand,booleand2)

    image-20221221205023105

    其中Boolean对象 可以调用valueOf()函数读出其中的值

    image-20221221205404825

  4. 空值类型

    JavaScript 没有空值(void) 的概念, 在 TypeScript 中,可以用void表示没有任何返回值的函数

     // 空值类型的定义
     //注意 JavaScript 中没有空值(void)的概念,在TypeScript中,可以使用`void`来表示没有任何返回值的函数
     ​
     function voidFn():void {
      // return 123       void类型不能返回除了void以外的
      console.log(`test void`)
      return
     }
     voidFn()    //调用上面的voidFn()函数
     // void 类型的用法, 主要是用在我们不希望调用者关心函数返回值的情况下,比如通常的异步回调函数
     // void也可以定义 undefined 和 null 类型
     let u:void = undefined
     let n:void = null
     console.log(u,n)

    image-20221221213900550

  5. Null 和 undefined 类型

     // Null 和 undefined 类型
     let un: undefined = undefined;  // 定义undefined
     let nu: null = null; //定义null
     ​
     let test:void = undefined
     let num2:string = "1"
     // num2 = test 注意 这样会报错,void类型不可以分给其他类型
     ​
     let test1:null = null
     let num21:string = "1"
     num21 = test1
     //或者这样的
     let test2:undefined = undefined
     let num22: string = "1"
     num22 = test2
     ​
     //注意 null 不能赋予 void类型
     // let nu2:null = void

    void 和 undefined 和 null 最大的区别

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

    注意 null 不能赋予 void类型