返回

Ts 入门学习笔记(Day 2)

前端

在昨天对 TypeScript 的学习的基础上,今天将继续我们的学习之旅,深入探究类型断言的奥秘。类型断言,就好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。它没有运行时的影响,只是在编译阶段起作用。类型断言有两种形式,一种是尖括号,一种是 as。让我们逐一了解它们的使用方法。

使用尖括号进行类型断言

尖括号类型的断言语法如下:

<Type>variable_name

这里,Type 是你想要断言的类型,variable_name 是你要断言的变量。举个例子,如果你有一个变量,名为 num,但你知道它实际上是一个字符串,那么你可以使用以下断言来告诉编译器:

const num = '123' as number;

现在,num 被认为是数字,即使它实际上是字符串。这在某些情况下非常有用,例如当你从用户那里获得输入并希望将其转换为特定类型时。

使用 as 进行类型断言

as 类型的断言语法如下:

variable_name as Type

这里,variable_name 是你要断言的变量,Type 是你想要断言的类型。使用 as 类型的断言与使用尖括号类型的断言是等价的。例如,上面的例子也可以写成:

const num = '123' as number;

类型断言的注意事项

在使用类型断言时,需要注意以下几点:

  • 类型断言不会执行任何类型检查。
  • 类型断言不会改变变量的实际类型。
  • 类型断言只能用于断言变量的类型,不能用于断言函数或类的类型。
  • 类型断言只能在TypeScript中使用,不能在JavaScript中使用。

小结

类型断言是 TypeScript 中的一个非常有用的功能,它可以帮助我们在某些情况下让代码更安全、更可靠。在使用类型断言时,需要注意上述注意事项,以避免出现问题。

练习

  1. 尝试使用类型断言来修复以下代码中的错误:
const num = '123';
const result = num + 1;
console.log(result); // 输出 "1231"
  1. 尝试使用类型断言来将以下数组中的所有元素转换为数字:
const numbers = ['1', '2', '3'];
  1. 尝试使用类型断言来将以下函数的返回值类型转换为字符串:
function greet(name: string): void {
  console.log(`Hello, ${name}!`);
}

我希望这些练习能够帮助你更好地理解类型断言的使用方法。如果你还有任何问题,请随时提问。