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

如何在 TypeScript 中声明变量?-- TypeScript 入门教程

2018 年 6 月 21 日

CPOL

2分钟阅读

viewsIcon

7776

在本章中,我们将学习在 TypeScript 中声明变量的各种方法。

在 TypeScript 教程系列的前几章中,我们学习了 如何安装 TypeScript,然后开始 创建一个简单的 HelloWorld 应用程序。我们还学习了 TypeScript 配置文件 (tsconfig.json)。

在本章中,我们将学习在 TypeScript 中声明变量的各种方法。请继续阅读以了解更多信息。

使用 “var” 关键字声明变量

就像 JavaScript 一样,您也可以使用关键字 var 在 TypeScript 中定义变量。例如,var message = "Hello World!";。使用 var 关键字定义变量存在一些问题,并且大多数开发人员都会遇到这个问题。让我们看几个例子来更好地理解它。

您可以在一个块内定义一个变量并在块外部使用它,如下所示

function GetValue(initialize: boolean) {
    if (initialize) {
        var value = 100;
    }

    return value;
}

GetValue(true);  // returns "100"
GetValue(false); // returns "undefined"

使用 var 关键字,您可以在同一个代码块内多次声明同一个变量。例如,以下代码将执行而不会出现任何错误

function GetValue(value, condition) {
    var value = 10;
    ...
    ...
    var value = 25; // no error
    ...
    ...
    if (condition) {
        var value = 100; // no error
        ...
    }
}

使用 “let” 关键字声明变量

为了克服使用 var 关键字声明变量时出现的问题,TypeScript 引入了使用 let 关键字声明变量。您可以以与编写 var 语句相同的方式编写 let 语句。例如,let message = "Hello World!";

var 不同,let 语句使用块级作用域。这意味着,如果您在函数或块中用 let 关键字声明一个变量,则该变量的作用域将限制在同一个函数或代码块内,并且无法在其最近包含的块之外访问。

function GetValue(initialize: boolean) {
    if (initialize) {
        var value = 100;
    }

    return value; // error
}

还需要注意的是,您不能在同一个作用域内使用 let 关键字重新声明变量,这是 var 声明的一个问题。以下代码将在编译时引发错误

function GetValue(condition) {
    let value = 10;
    ...
    ...
    let value = 25; // ERROR: re-declaration of "value"
    ...
    ...
    if (condition) {
        let value = 100;
        ...
    }
}

使用 “const” 关键字声明变量

您还可以使用 const 关键字声明变量。例如,const message = "Hello World!";const 关键字的作用类似于 let,但区别在于它们的值在初始化后不能更改,因此您无法重新分配值给它们。

👉 TypeScript 教程 - TypeScript 入门

© . All rights reserved.