TypeScript 变量和常量

注意: 如果您是 TypeScript 新手,请先查看我们的 TypeScript 入门 教程。


TypeScript 变量

TypeScript 变量是用于存储数据的容器。例如,

let age: number = 20;

这里,age 是一个 number 类型的变量,即它只能存储数值。目前,它存储着数字 20

TypeScript 变量与 JavaScript 变量

在 JavaScript 中,您无需声明类型。因此,您可以将一种类型的数据赋给另一种类型的变量。

但在 TypeScript 中,这是不允许的。例如,

// TypeScript Code

// Declare a number variable
let age: number = 20;

// Assign a string data to age variable
// Error: this is an invalid code
age = "Twenty";

在这里,我们尝试将字符串值 "Twenty" 赋给一个名为 age 的数字变量。不出所料,这会返回一个错误。

然而,在 JavaScript 中您可以轻松地执行此操作

// JavaScript Code

// Declare variable without type
// Assign a number to it
let age = 20;

// Assign a string data to age variable
// This is a valid code
age = "Twenty";

在 TypeScript 中声明变量

在 TypeScript 中,我们使用 varlet 关键字以及数据类型来声明变量。例如,

var age: number;
let name: string;

这里,

  • age - 一个 number 类型的变量。它只能存储数值。
  • name - 一个 string 类型的变量。它只能存储文本值。

因此,在 TypeScript 中创建变量的通用语法是

let variableName: dataType;

注意: 就像 JavaScript 一样,我们 不建议使用 var 关键字 在 TypeScript 中创建变量。


在 TypeScript 中初始化变量

我们使用赋值运算符 = 给变量赋值。

// Declare variable age of number type
let age: number;

// Assign 20 to age
age = 20;

这里,将 20 赋给了变量 age

您也可以在声明变量时对其进行初始化。

// Declare variable johnAge and assign 20 to it
let johnAge: number = 20;

// Declare variable janeAge and assign 42 to it
let janeAge: number = 42;

变量初始化进阶

在一条语句中声明多个变量。

在 TypeScript 中,可以在一条语句中声明多个变量。

// Declare string variable userName and number variable age
// Assign values "John" and 20 respectively
let userName:string = "John", age:number = 20;

在这里,我们在同一行中声明并赋值了两个变量,其中,

  • name"John"
  • age20
在不初始化的情况下使用变量。

如果您在未初始化的情况下使用变量,它将具有 undefined 值。

// Declare a number variable called age
let age: number; 

// Print age
console.log(age); 

// Output: undefined

在这里,我们声明了一个名为 age 的变量。但是,由于它不包含任何值,因此其值为 undefined

要了解有关 undefined 的更多信息,请访问 TypeScript null 和 undefined。


更改变量的值

变量的值可能会变化。因此,它的名称是变量

让我们看下面的例子,了解如何更改变量的值

// Assign 5 to variable age
let age: number = 20; 
console.log(age); // 20

// Change the value of age to 33
age = 33; 
console.log(age); // 33

在这里,当我们给 age 变量赋新值时,它的值从 20 变为了 33


TypeScript 变量命名规则

1. 变量名必须以字母、下划线 _ 或美元符号 $ 开头。

// Valid
let age: number = 20;
let _age: number = 20;
let $age: number = 20;

2. 变量名不能以数字开头。

// Invalid
let 20age: number = 20; // This gives an error

3. 变量名区分大小写。所以 age Age 是不同的变量。

let age: number = 20;
let Age: number = 33;

console.log(age); // 20
console.log(Age); // 33

4. 变量名不能是关键字(TypeScript 中为特定目的保留的特殊单词,例如 if, else, let, var 等)。

// Invalid
let new: number = 20; // Error! new is a keyword

TypeScript 中变量命名的推荐方式

TypeScript 中变量命名的推荐方式。

您可以随意命名变量。但是,我们建议使用以下命名约定

  • 在 TypeScript 中,当变量包含多个单词时,通常以 驼峰命名法(camelCase)命名。

    例如,firstName, annualSalary, numberOfBooks 等。
  • 给变量起一个描述性名称是个好习惯。

    例如,如果您使用一个变量来存储苹果的数量,最好将该变量命名为 applesnumberOfApples,而不是 xn

TypeScript 常量

常量是一种变量,其值无法更改。

在 TypeScript 中,我们使用 const 关键字来创建常量。例如,

// Assign 20 to AGE
const AGE: number = 20;

常量一旦初始化,我们就不能更改其值。

// Assign 20 to age
const age: number = 20;

// Assign 10 to age
age = 10;
console.log(age); // Error! constant cannot be changed

始终在声明时初始化常量

如果在声明时未初始化常量,则会引发错误。例如,

// Error! Missing initializer in const declaration
const age: number;

// Attempt to initialize constant after declaration
age = 20;

console.log(age);

注意: 如果您确定变量的值在整个程序中都不会改变,我们建议您使用 const

但是,有些浏览器不支持 const。访问 JavaScript const 浏览器支持 以了解更多信息。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战