布尔值

  1. const bool: boolean = true;

注意,使用构造函数创建的对象不是布尔值,事实上,new Boolean()返回的是一个Boolean对象

  1. var isObjDone: boolean = new Boolean(1);
  2. // Type 'Boolean' is not assignable to type 'boolean'.
  3. // 'boolean' is a primitive, but 'Boolean' is a wrapper object. Prefer using 'boolean' when possible.

直接调用Boolean也可以返回一个布尔类型

  1. var isObjDone: boolean = Boolean(1);//true

结论:在ts中,boolean是Javascript中的基本类型,而Boolean是Javascript中的构造函数.其它类型一致。

数值

使用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;

编译结果,其中0b1010和0o744分别是二进制和八进制,会被编译成十进制。

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

字符串

和javascript中字符串基本一致,只是在定义上有所区别。

  1. const str: string = '字符串';

空值

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

    1. function fn(): void{
    2. console.log('我是一个没有返回值的函数');
    3. }
  • 声明一个void类型的变量,只能将它赋值为undefined和null

    1. const vo: void = undefined;
    2. const nu: void = null;

Null和undefined

  • 在 TypeScript 中,可以使用 nullundefined 来定义这两个原始数据类型:

    1. const u: undefined = undefined;
    2. const n: null = null;
  • 与void的区别是null和undefined是所有类型的子类型

    1. const num: number = undefined; //这样写不会报错——测试还有有报错提示
  • 也可以这样去写 ```javascript const n: undefined const m: number = n;

n //undefined m //undefined n === m //true

  1. <a name="J0MH1"></a>
  2. #### 测试用例
  3. ```javascript
  4. let debug:boolean = true;
  5. let flag:boolean = true;
  6. let number:number = 1;
  7. let str:string = '1';
  8. let vd:void = undefined;//void空值只可以赋值给undefined和null
  9. let u:undefined = undefined;
  10. let n:null = null;
  11. debug && console.log({
  12. flag: flag,
  13. number: number,
  14. str: str,
  15. void: vd,
  16. u: u,
  17. n: u
  18. });
  19. -----------------------------------------------------------------------------------
  20. {
  21. flag: true,
  22. number: 1,
  23. str: '1',
  24. void: undefined,
  25. u: undefined,
  26. n: undefined
  27. }

参考

https://www.bookstack.cn/read/TypeScript/24.md
https://ts.xcatliu.com/basics/primitive-data-types.html