Typescript:Types GenAI LIVE!| 2025 年 6 月 4 日

2025-06-09

Typescript:类型

GenAI LIVE! | 2025年6月4日

在本文中,我们将学习如何使用 TypeScript 来确保变量类型安全,并且其他值无法操纵该变量。例如:字符串值不能赋值给数值变量。

这将是一系列完整的打字稿,您将从字符串、布尔值等基本主题学习到类型别名、枚举、接口、泛型等更复杂的主题。

目录

Typescript 中的类型

  • 数字
  • 细绳
  • 布尔值
  • 无效的
  • 不明确的
  • 空白
  • 目的
  • 大批
  • 元组
  • 未知
  • 绝不
  • 任何(不应使用)

等等。

使用 Typescript 的情况

例如,有一个函数increaseScore,它获取currentScore分数并将其增加数字increaseBy并返回更新后的分数。

function increaseScore(currentScore, increaseBy){
    return currentScore + increaseBy;
}

increaseScore(10, 2) // output : 12
increaseScore(10, "2") // output : 102
Enter fullscreen mode Exit fullscreen mode

如果有人传递了字符串或其他内容,那么它会在生产或运行时抛出错误。例如在第二个例子中,分数变成了102如图所示的“这是一个 bug”。

那么,如何使用 TypeScript 来避免这种情况呢?稍后我们会深入探讨。你可以像这样定义变量的类型:

let variableName: type = value;
Enter fullscreen mode Exit fullscreen mode

原始类型

JavaScript 中的原始类型是:

  • string
  • boolean
  • number

细绳

字符串值由单引号或双引号括起来。它们用于存储文本数据。

let player: string = "John";

// ✅ CORRECT
player = "anny";

// ❌ ERROR: Type 'number' is not assignable to type 'string
player = 4;
Enter fullscreen mode Exit fullscreen mode

如你所见,我们在第 3 行赋值了名字 (Anny),在第 4 行赋值了数字,结果立即抛出了错误。这就是 TypeScript 的本质。你不需要像 JS 那样运行 TS 来获取错误信息。

布尔值

在布尔值中,它可以是任意一个true,否则false,它会抛出一个错误,如下面的代码所示-

let isLoggedIn: boolean = false;

// ✅ CORRECT
isLoggedIn = true;

// ❌ ERROR: Type 'number' is not assignable to type 'boolean'
isLoggedIn = 5;

// ❌ ERROR: Type 'string' is not assignable to type 'boolean'.
isLoggedIn = "hello";
Enter fullscreen mode Exit fullscreen mode

数字

JavaScript 没有整数的特殊运行时值,因此没有等效于intfloat- 一切都很简单,number这就是为什么line 5当我们将分配price500.53它时不会给你一个错误,因为它是一个数字。

let price: number = 200;

// 👇✅ CORRECT
price = 300;
price = 500.53;

// 👇❌ Error
price = false;
price = "3000";
Enter fullscreen mode Exit fullscreen mode

不要使用“any”

那么问题来了:为什么不应该使用any?答案很简单,因为使用any会禁用该变量的所有类型检查,任何人都可以为该变量赋任何类型的值。例如:

// 👇 Wrong Practice (by default 'any')
let hello;

// 👇 'hello' can take any type of value
hello =  2;
hello =  "world";
hello =  true;
Enter fullscreen mode Exit fullscreen mode

我们还line: 1没有定义变量的类型,hello所以它的默认值是any,您可以分配任何您想要的内容,如上例所示。

现在想象一下这样的场景:你正在调用一个 API 并获取格式正确的数据string,但有人将其更改为某种格式boolean,或者number你的整个应用程序功能会因为这个错误而崩溃。而 Typescript 可以防止这种情况发生。例如:

let data; // type by default is any

function getData(){
    //.........API Call
    return  "Message";
}

data = getData();       // no issue because expected string
Enter fullscreen mode Exit fullscreen mode

另一个例子:

let data;

function getData(){
    //.........API Call
    return 823;
}

data = getData();       // ISSUE: expected string but returns the number (won't throw error because type is `any`)
Enter fullscreen mode Exit fullscreen mode

解决方案:

let data: string;

function getData(){
    //.........API Call
    return  "Message";
}

data = getData();
Enter fullscreen mode Exit fullscreen mode

现在,如果您传递非字符串的内容,它将引发错误,如下所示:

let data: string;

function getData(){
  //........API Call
  return true;
}

// ❌ ERROR: Type 'boolean' is not assignable to type 'string'
data = getData();
Enter fullscreen mode Exit fullscreen mode

any当您不希望某个特定值导致类型检查错误时,您可以使用它。

我将在本系列的后面部分介绍void以及never其他内容。

总结

在本文中,我解释了如何使用 typescript 来确保变量类型是安全的并且没有其他值可以操纵该变量。

这是一系列 TypeScript 教程,旨在帮助你从零开始学习 TypeScript。如果你喜欢这篇文章,别忘了点赞 ❤️ 并收藏 🏷️ 以便日后使用。如果你有任何问题或反馈,欢迎在下方评论区留言。下篇文章见。

与我联系

叽叽喳喳 GitHub LinkedIn Instagram 网站 通讯 支持
鏂囩珷鏉ユ簮锛�https://dev.to/j471n/typescript-types-g4b
PREV
使用 CSS 将视频作为文本背景
NEXT
如何在 Tailwind CSS 中使用 ::before 和 ::after