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





5.00/5 (1投票)
在本章中,我们将学习在 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
,但区别在于它们的值在初始化后不能更改,因此您无法重新分配值给它们。