typescript的原始类型:boolean, number, string, void, undefined, null, symbol, bigint

boolean

  • boolean类型开头小写。如果写成Boolean即表示JavaScript中的布尔对象。

    typescript的原始类型如boolean,number,string等,在JavaScript中有类型的关键字Boolean,Number,String等,后者是JavaScript的构造函数,typescript中的number等仅表示类型。两者完全不同。

number

  • number可用于表示JavaScript中的二进制、十进制、十六进制等数

    string

    空值(void)

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

  • 实际上,只有nullundefined可以赋值给void:

    1. const a:void = undefined

    Null 和 Undefined(null,undefined)

    ts中,undefined和null两者各自的类型分别叫undefined和null,和void相似,本身的类型用处不大

    1. let a:undefined = undefined
    2. let b:null = null
  • 默认情况下,null和undefined是所有类型的子类型。即可把null和undefined赋值给number类型的变量

  • 在正式项目中,一般都是开启 —strictNullChecks 检测的,即null 和 undefined 只能赋值给any 和它们各自(一个列为是undefined也可以分配给void),可以规避非常多问题

    Symbol(symbol)

  • 在使用symbol时,必须添加es6编译辅助库

  • Symbol 通过构造函数创建

    1. const sym1 = Symbol('key1');
    2. const sym2 = Symbol('key2');
  • Symbol的值是唯一不变的:

    1. Symbol('key1') === Symbol('key1');

    BigInt(大数整数类型:bigint)

  • 在typescript3.2版本被内置,使用BigInt可以安全的存储和操作大整数,即使这个数已经超出了JavaScript构造函数Number能够表示的安全整数范围。

  • 在使用BigInt的时候,必须添加ESNext的编译辅助库。

typescript的原始类型 - 图1

  • 与number在typescript中都表示数字,但是实际两者类型是不同的。