Variable declarations in TypeScript: syntax of variable declarations, scope of variables, type inference of variables and type assertions

TypeScript is a statically typed programming language developed by Microsoft that is a superset of JavaScript and enables type checking at compile time. In TypeScript, variable declaration is a very important concept, which defines the name and type of the variable. By declaring variables correctly, we can enhance the readability, maintainability, and extensibility of our code. This article will introduce variable declarations in TypeScript in detail, including the syntax of variable declarations, the scope of variables, type inference and type assertion of variables, etc.

variable declaration

In TypeScript, we can use letthe and constkeywords to declare variables. letis used to declare mutable (reassignable) variables, while constis used to declare immutable (not reassignable) variables. The general syntax for variable declarations is as follows:

let variableName: type = value;
const constantName: type = value;

where variableNameand constantNameis the name of the variable, typeis the type of the variable, valueand is the initial value of the variable (optional). The following two ways of declaring variables are introduced respectively.

let variable declaration

letKeywords are used to declare mutable variables. Its scope is limited to block-level scope. Block scope is {}a block of code surrounded by curly braces. For example:

{
    
    
  let x: number = 10;
  console.log(x); // 输出 10
}
console.log(x); // 报错,x 在这里不可访问

In the above example, xthe scope of the variable is limited to inside the curly braces, and cannot be accessed outside.

const variable declaration

constKeywords are used to declare immutable variables, i.e. constants. Similar to let, constdeclared variables also have block scope. Once a constant is declared, it cannot be reassigned. For example:

{
    
    
  const PI: number = 3.14159;
  console.log(PI); // 输出 3.14159
  PI = 3; // 报错,常量不能重新赋值
}

In the above example, the constant PIis assigned the value of pi, and its value cannot be modified afterwards.

variable scope

Variable scope refers to where the variable can be accessed. In TypeScript, the scope of variables can be divided into global scope and local scope.

global scope

Variables declared in the global scope can be accessed anywhere in the entire program. For example:

let globalVariable: string = "Hello";

function sayHello(): void {
    
    
  console.log(globalVariable); // 输出 Hello
}

sayHello();
console.log(globalVariable); // 输出 Hello

In the above example, variables declared in the global scope globalVariablecan be accessed both in the function sayHelloand in the code after that.

local scope

Variables declared in a local scope can only be accessed inside that scope. For example:

function sayHello(): void {
    
    
  let localVariable: string = "Hello";
  console.log(localVariable); // 输出 Hello
}

sayHello();
console.log(localVariable); // 报错,localVariable 在这里不可访问

In the example above, localVariableit can only sayHellobe accessed within the scope of the function.

Type inference and type assertion

TypeScript has powerful type inference capabilities, which can automatically infer the type of variables based on the context. For example, TypeScript can infer the variable's type if we assign a value directly when we define it.

let num = 123; // 类型推断为 number
let str = "Hello"; // 类型推断为 string

Additionally, we can use type assertions to tell the compiler the type of a value. Type assertions have two syntactic forms, <类型>值and 值 as 类型.

let someValue: unknown = "Hello";
let strLength1: number = (<string>someValue).length;
let strLength2: number = (someValue as string).length;

Type assertions can provide type information in some cases where type inference cannot be done, but should be used sparingly to avoid type errors.

Summarize

This article introduces variable declarations in TypeScript in detail, including the syntax of variable declarations, the scope of variables, type inference and type assertion of variables, etc. Properly declaring variables can improve code quality and readability, while also uncovering potential type errors at compile time.

Guess you like

Origin blog.csdn.net/weixin_43025343/article/details/131836994