TypeScript的基础知识1---原始数据类型

131 阅读1分钟

1、原始数据类型

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

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

布尔值

在 TypeScript 中,使用 boolean 定义布尔值类型:

let isDone : boolean  = false;

数值

在 TypeScript 中,使用 number 定义数值类型:

  let decLiteral: number = 6;
  let hexLiteral: number = 0xf00d;
  // ES6 中的二进制表示法`
  let binaryLiteral: number = 0b1010;
  // ES6 中的八进制表示法
  let octalLiteral: number = 0o744;
  let notANumber: number = NaN;
  let infinityNumber: number = Infinity;

字符串

在 TypeScript 中,使用 string 定义字符串类型:

let myName : string  = 'Tom';
let sentence : string = `Hello ,my name is ${myName}`

空值

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

function alertName(): void {    alert('My name is Tom');}

声明一个 void 类型的变量没有什么用,因为你只能将它赋值为 undefined 和 null

let unusable: void = undefined;

Null 和 Undefined

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

let u: undefined = undefined;let n: null = null;

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

// 这样不会报错
let num: number = undefined;
// 这样也不会报错
let u: undefined;
let num: number = u;

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

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