JavaScript 和 TypeScript 的数据类型有些相似,但 TypeScript 在 JavaScript 的基础上添加了静态类型检查和更多的类型系统特性。下面是两者的对比:
1. JavaScript 数据类型
JavaScript 有 7 种基本数据类型:
-
原始类型(Primitive types):
Number
: 数字类型(包括整数和浮点数)。String
: 字符串类型。Boolean
: 布尔值(true
或false
)。Null
: 表示“无”或“空”值。Undefined
: 未定义,通常是没有赋值的变量。Symbol
: 新增于 ES6,表示唯一的值,用于对象属性的唯一标识。BigInt
: 用于表示任意精度的整数(ES11 引入)。
-
引用类型(Reference types):
Object
: 对象类型,包括数组、函数、普通对象等。Array
: 数组类型(数组也是对象的一种形式)。Function
: 函数类型。
2. TypeScript 数据类型
TypeScript 继承了 JavaScript 的数据类型,同时增加了静态类型检查和更多的类型系统功能。TypeScript 的类型分为两大类:基本类型 和 高级类型。
基本数据类型:
number
: 表示数值类型(包括整数、浮点数、BigInt 的类型)。string
: 表示字符串类型。boolean
: 布尔值类型。null
: 表示“无”或“空”值。undefined
: 表示未定义的变量类型。symbol
: 符号类型,用于创建唯一的标识符。bigint
: 用于表示大整数类型。
这些基本类型与 JavaScript 中的原始类型基本一致。
高级类型:
-
数组类型:使用
type[]
或Array<type>
来定义数组类型。let numbers: number[] = [1, 2