TypeScript 中的基本数据类型是什么?-- TypeScript 入门教程






4.69/5 (3投票s)
TypeScript 的基本数据类型及示例
与 JavaScript 和任何其他语言一样,TypeScript 也提供了基本数据类型来处理数字、string
等。TypeScript 中的一些常见数据类型包括:number
, string
, boolean
, enum
, void
, null
, undefined
, any
, never
, Array
和 tuple
。
让我们了解更多关于 TypeScript 的这些基本数据类型,您将需要经常使用它们。让我们通过合适的例子来学习。
数字类型
在 TypeScript 中,数字是浮点值,类型为 number
。您可以分配任何数值,包括小数、十六进制、二进制和八进制字面量。但是,要使用二进制和八进制字面量,您必须使用符合 ECMAScript 2015 或更高版本的 TypeScript 版本。
以下是一些声明数值的示例
let decimalValue: number = 10;
let hexaDecimalValue: number = 0xf10b;
let binaryValue: number = 0b110100;
let octalValue: number = 0o410;
字符串类型
当您想使用文本数据时,会使用 string
类型,并由关键字 string
表示。与 JavaScript 一样,TypeScript 也使用双引号 ("
) 和单引号 ('
) 来包围 string
值。
let firstName: string = "Kunal"; // using double quotes
let lastName: string = 'Chowdhury'; // using single quotes
当您想要将 string
跨越多行和/或必须嵌入表达式 (${expression}
) 时,可以使用模板化 string
。模板化 string
被反引号 (`
) 包围,如下面的代码片段所示
let firstName: string = "Kunal";
let lastName: string = "Chowdhury";
let message: string = `Hi, my name is: ${firstName} ${lastName}`;
let spannedMessage: string = `Hi,
My name is: ${firstName} ${lastName}`;
布尔类型
要在 TypeScript 中使用布尔数据类型,声明变量时,请使用 boolean
关键字。这是一个声明布尔类型变量的简单代码
let isPrimaryAccount: boolean = true;
let hasCards: boolean = false;
枚举类型
枚举数据类型 (enum
) 是一组具有更友好名称的数值。它是 TypeScript 在 JavaScript 基础上增加的功能。枚举数据类型的变量使用关键字 enum
声明。以下是您如何在 TypeScript 中声明一个 enum
变量并使用它
enum CardTypes { Debit, Credit, Virtual }
let card: CardTypes = CardTypes.Debit;
默认情况下,enum
值从 0(零)开始,但您也可以通过手动输入其成员的值来设置它。请考虑以下两个示例
enum CardTypes { Debit = 1, Credit, Virtual }
enum CardTypes { Debit = 1, Credit = 3, Virtual = 5 }
空类型
一般来说,这种类型的数据类型用于不返回任何值的函数。例如,function showMessage(): void { ... }
。在 TypeScript 中,您也可以声明一个 void
类型的变量,但只能将 undefined
或 null
赋值给它们。我们将在接下来的几点中讨论 undefined
和 null
类型。
空值类型
您可以使用 使用 null
关键字声明一个 null
类型的变量,并且只能为其赋值 null
值。由于 null
是所有其他类型的子类型,您可以将其赋值给 number
或 boolean
值。
let nullValue: null = null;
let numericValue: number = null
未定义类型
您可以使用 undefined
关键字作为数据类型来存储值 undefined
。由于 undefined
是所有其他类型的子类型,就像 null
一样,您可以将其赋值给 number
或 boolean
值。
let undefinedValue: undefined = undefined;
let numericValue: number = undefined;
任意类型
在编写代码时,由于值的动态内容,您不确定值的确切数据类型,您可以使用关键字 any
来声明该变量。当您从用户或第三方库/服务获取输入时,这通常很有用。当您声明一个混合数据类型的数组时,这也很有用。它就像 C# 中可用的 dynamic
关键字。例如
let dynamicValue: any = "Kunal Chowdhury";
dynamicValue = 100;
dynamicValue = 0b1100101;
dynamicValue = true;
let dynamicList: any[] = [ "Kunal Chowdhury",
"Free User",
21,
true
];
永不存在类型
never
类型表示永远不会出现的值的数据类型。例如,以下始终抛出异常的函数永远不会返回值。因此,该函数的返回类型可以设置为 never
。这是函数声明
function throwError(message: string): never {
throw new Error(message);
}
数组类型
就像 JavaScript 一样,您可以在 TypeScript 中使用数组,并且可以用以下两种方式之一定义它,其中第二种方法是声明数组的更通用方法
let marks: number[] = [80, 85, 75];
let marks: Array<number> = [80, 85, 75];
元组类型
元组是一种数据类型,它允许您创建一个数组,其中固定数量的元素的类型是已知的,但不需要相同。当使用已知的有效索引访问 Tuple
的元素时,将返回正确类型的数据。如果您访问已知索引集之外的元素,将使用联合类型。请考虑以下代码段作为示例
// correct
let person: [string, number] = ["Kunal", 2018];
// error
let person: [string, number] = [2018, "Kunal"];
// correct
let person: [string, number] = ["Kunal", 2018, "India"];
// correct
let person: [string, number] = ["Kunal", 2018, 21];
// error
let person: [string, number] = ["Kunal", 2018, true];
👉 TypeScript 教程 - TypeScript 入门