TypeScript 是一种强类型语言,它引入了许多新的数据类型以及变量声明方式。这篇文章将为你介绍 TypeScript 中的基本数据类型、高级数据类型和变量声明方法。
基本数据类型
TypeScript 支持与 JavaScript 相同的基本数据类型,包括:
- 数字(number):可以是整数或小数,支持十进制、二进制、八进制、十六进制等表示方式。
- 字符串(string):表示文本数据。
- 布尔值(boolean):表示真假值。
- 空值(void):表示没有任何返回值的函数,或变量未初始化的值。
- 未定义(undefined):表示变量声明但没有赋值时的默认值。
- 空对象(null):表示空值或空对象。
在 TypeScript 中,我们可以使用关键词来声明变量的数据类型,例如:
let num: number = 123; let str: string = "Hello, TypeScript!"; let bool: boolean = true; let n: null = null; let u: undefined = undefined; let v: void = undefined; // 这里的 undefined 值与 void 类型是等价的
需要注意的是,TypeScript 只是在编译时进行类型检查,编译结果会被转换为 JavaScript,因此不能保证在运行时一定是所声明的类型。
高级数据类型
除了基本数据类型,TypeScript 还支持引用类型、元组(Tuple)、枚举(Enum)、联合类型(Union)和交叉类型(Intersection)。
引用类型
引用类型是指非基本类型(Object 类型),包括数组、函数、类等。
let arr: number[] = [1, 2, 3]; let func: (x: number, y: number) => number = function(x, y) { return x + y; }; class Person { name: string }; let obj: Person = { name: "张三" };
元组(Tuple)
元组是一种特殊的数组类型,在 TypeScript 中可以规定数组中各个元素的类型和数量。
let tuple: [string, number] = ["张三", 18];
枚举(Enum)
枚举类型用于表示一组有限的、命名的值。
enum Direction { Up, Down, Left, Right } let dir: Direction = Direction.Up;
默认情况下,枚举值从 0 开始自增,也可以手动指定枚举值:
enum Direction { Up = 1, Down, Left, Right }
联合类型(Union)
联合类型用于表示两个或多个类型中的一个。
let value: string | number; value = "Hello, TypeScript!"; value = 123;
交叉类型(Intersection)
交叉类型用于表示多个类型的复合类型。
type Person = { name: string }; type Employee = { job: string }; type Manager = Person & Employee; let manager: Manager = { name: "张三", job: "经理" };
变量声明
TypeScript 支持多种变量声明方式,包括变量、常量、函数和类。
变量和常量
用 let、const 或 var 关键词声明变量或常量:
let num: number = 123; const PI: number = 3.1415926; var name: string = "张三";
let 和 const 关键词用于声明块级作用域变量和常量,var 关键词用于声明函数作用域变量:
-- -------------------- ---- ------- -------- --------- - --- ---- - - -- - - -- ---- - --------------- - --------------- -- -- - - -------- --------- - --- ---- - - -- - - -- ---- - --------------- - --------------- -- ---- --- -展开代码
函数
用 function 关键词声明函数,可以指定参数的类型和返回值的类型:
function add(x: number, y: number): number { return x + y; }
类
用 class 关键词声明类,可以指定类的成员变量和成员函数的类型:
-- -------------------- ---- ------- ----- ------ - ----- ------- ----------------- ------- - --------- - ----- - ----------- ---- - ------------------- ---------------- - - --- -- ------ - --- ------------- ------------- -- -- ------- ----展开代码
结语
TypeScript 的数据类型和变量声明方法比 JavaScript 更加严谨和规范,可以更好地实现代码的类型安全和维护。本文介绍的只是 TypeScript 中数据类型和变量声明的部分内容,更多内容可以查看 TypeScript 官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67c8f63de46428fe9efd3c96