null 和 undefined

undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 number 类型的变量

  1. let u: undefined = undefined;
  2. let j: number | undefined; // undefined 常用于组合类型
  3. let n: null = null;
  4. // undefined 和 null 是所有类型的子类型。也就是说 undefined 类型的变量,可以赋值给 number 类型的变量
  5. // 这样不会报错
  6. let num: number = u;

如果你在tsconfig.json指定了”strictNullChecks”:true ,即开启严格模式后, null 和 undefined 只能赋值给 void 和它们各自的类型,不然会报错。

  1. let age: number = null
  2. let realName: string = undefined

image.png

number 数值

  1. let decLiteral: number = 6;
  2. let hexLiteral: number = 0xf00d;
  3. // ES6 中的二进制表示法
  4. let binaryLiteral: number = 0b1010;
  5. // ES6 中的八进制表示法
  6. let octalLiteral: number = 0o744;
  7. let notANumber: number = NaN;
  8. let infinityNumber: number = Infinity;

boolean 布尔

  1. let isDone: boolean = false;
  2. // 使用构造函数 Boolean 创造的对象不是布尔值,事实上 new Boolean() 返回的是一个 Boolean 对象
  3. let createdByNewBoolean: Boolean = new Boolean(1);

string 字符串

  1. let myName: string = 'Tom';
  2. let myAge: number = 25;
  3. // 模板字符串
  4. let sentence: string = `Hello, my name is ${myName}.
  5. I'll be ${myAge + 1} years old next month.`;

Symbol

  1. const symbolInstance : Symbol = Symbol('content')

bigInt

bitint 数值可以直接在数字后面加字母n
也可以使用 BigInt 构造函数来表示