基本类型
在我们常用的JavaScript中有八种数据类型:
string、number、boolean、undefined、null、object、bigint、symbol。
TypeScript继承了JavaScript的数据类型,上述八种类型在TypeScript中可视为基本类型,另外undefined、null既可以当做类型也可以当做值来用。这八种基本类型是TypeScript类型系统的基础,他们可以组合为各种复杂的类型。
类型介绍
一些简单的类型就不做赘述了,大家也明白什么意思,下面将一些比较特殊的类型做一个简单的介绍。
object类型
根据JavaScript中的设计,object包含了所有对象、数组、函数。我们声明对象、数组和函数都可以视为object类型。
const obj: object = {name: "Tom", age: 20};
const arr: object = ["1", 2, "3"];
const fun: object = () => { console.log("运行") };
undefined类型、null类型
undefined和null类型都是独立的类型,他们有且仅有一个值。
undefined类型只包含一个值 "undefined" 表示未定义。
const a: undefined = undefined
上方的代码中,第一个undefined表示类型,第二个表示值。
null类型也只包含一个值 "null" 表示空
const b: null = null
上方的代码中,第一个null表示类型,第二个表示值。
Object 类型和 object 类型
Object类型是广义对象,应该都听过一句话:“万物皆对象”,这个对象就是Object,TypeScript中任意数据都可以定义为Object类型(undefined、null 除外)
let x: Object
x = 1;
x = "2";
x = true;
x = [1,2,3];
x = {name: "Tom", age: 20};
x = () => {};
x = undefined; // 报错
x = null; // 报错
上面代码中原始类型值、对象、数组、函数都是合法的Object
类型。