65.9K
CodeProject 正在变化。 阅读更多。
Home

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

2018 年 6 月 21 日

CPOL

3分钟阅读

viewsIcon

8632

TypeScript 的基本数据类型及示例

与 JavaScript 和任何其他语言一样,TypeScript 也提供了基本数据类型来处理数字、string 等。TypeScript 中的一些常见数据类型包括:number, string, boolean, enum, void, null, undefined, any, never, Arraytuple

让我们了解更多关于 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 类型的变量,但只能将 undefinednull 赋值给它们。我们将在接下来的几点中讨论 undefinednull 类型。

空值类型

您可以使用 使用 null 关键字声明一个 null 类型的变量,并且只能为其赋值 null 值。由于 null 是所有其他类型的子类型,您可以将其赋值给 numberboolean 值。

let nullValue: null = null;
let numericValue: number = null

未定义类型

您可以使用 undefined 关键字作为数据类型来存储值 undefined。由于 undefined 是所有其他类型的子类型,就像 null 一样,您可以将其赋值给 numberboolean 值。

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 入门

 

© . All rights reserved.