03.Typescript基本数据类型

Javascript数据类型

咱们知道 Javascript 数据类型分为 原始数据类型引用数据类型typescript

原始数据类型 包括字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol共6种类型。编程

引用数据类型 包括对象(Object)、数组(Array)、函数(Function)。数组

Typescript 的数据类型在 Javascript的基础上,增长了枚举(Enum),元组(Tuple),Any,Void,Never等类型。函数

Typescript原始数据类型

Typescript 的基础数据类型示例代码:spa

// 布尔值
let isValid: boolean = true;
// 数字类型
let max: number = 2000;
// 字符串
let msg: string = "Hello World";
// null
let none: null = null;
// undefined
let unkown: undefined = undefined;

注意:code

  1. 类型注解一概小写,不要使用大写英文。
  2. 使用构造函数 String 生成的实例,本质上是对象,而不是字符串类型,NumberBoolean 同理。
let min :number = new Number(3); 
let str :string = new String('黄小米');

报错以下,NumberStringBooleanObject 这些类型指的是非原始的装盒对象,既然生成对象 Object,确定与前面的类型注解冲突,这就是缘由。对象

image.png

Typescript 引用数据类型

数组

TypeScript 有两种方式能够定义数组。 blog

第一种,元素类型[],表示由此类型元素组成的一个数组:接口

let list: number[] = [1, 2, 3, 4];

第二种,使用数组泛型,Array<元素类型>ip

let list: Array<number> = [1, 2, 3, 4];

关于泛型,请参考后面的泛型一章。

对象

object 表示非原始类型,也就是除 numberstringbooleansymbolnullundefined 以外的类型。

let person: object = { name: "黄小米", age: 30 };
person.name = "杨过";

虽然 Typescript 提供了对象类型,可是对象内部的属性,咱们没法进行类型约束。person 这个对象里面有 nameage 两个属性,可是你却没法使用类型注解约束其类型。
同时,当咱们修改 name杨过 时,发现没法编译经过,报错以下:

image.png

object 类型并不适合这种应用场景。使用 object 类型,通常表示像 Object.create 这样的API。

咱们通常使用 接口(Interface)来更详细的描述对象这一数据类型,请参照接口这一章。

Any

any 表示在编程阶段未知类型的变量指定的一种类型。

var year: any = '2020-05-20';
year = 2020;
year = new Date(2020);
year.getFullYear();
  1. 类型检查器不会检查 any 类型的变量,编译阶段直接经过。
  2. any 类型容许被赋值为任意类型,甚至能够调用其属性、方法。

Void

某种程度上来讲,void 类型像是与 any 类型相反,它表示没有任何类型。 当一个函数没有返回值时,你一般会见到其返回值类型是 void

function test() :void {
    console.log('Hello World!')
}
相关文章
相关标签/搜索