迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > TypeScript >

TypeScript 中的函数返回多个值

作者:迹忆客 最近更新:2022/12/31 浏览次数:

要从 TypeScript 中的函数返回多个值,请将值分组到一个数组中并返回该数组,例如 return [myValue1, myValue2] as const。 然后,我们可以解构并使用函数返回的值。

function getValues() {
  const str = 'hello';
  const num = 100;

  return [str, num] as const;
}

// 👇️ const result: readonly ["hello", 100]
const result = getValues();

const [str, num] = getValues();

console.log(str.toUpperCase()); // 👉️ "HELLO"
console.log(num.toFixed(2)); // 100.00

TypeScript 中的函数返回多个值

我们声明了一个函数,它通过将多个值分组到一个数组中来返回多个值。

请注意 ,结果变量的类型(以及函数的返回类型)是 ["hello", 100]

as const 语法在 TypeScript 中称为 const 断言。

const 断言将函数的返回类型设置为只读 ["hello", 100],这正是我们想要的。

当我们从函数的返回值中解构它们时,我们希望这些值被正确键入。

如果我们省略 const 断言,让我们看看函数的返回类型。

function getValues() {
  const str = 'hello';
  const num = 100;

  return [str, num];
}

// 👇️ const result: (string | number)[]
const result = getValues();

const [str, num] = getValues();

// 👇️ Now str is string or number
// and num is string or number

现在我们已经删除了 const,该函数被键入以返回一个包含字符串或数字的数组。

这不是很好,因为当我们将数组中的值解构为 str 和 num 变量时,它们的类型为 string | number

string | number语法在 TypeScript 中称为联合类型。 联合类型由两个或多个其他类型组合而成。

我们可以通过将函数的返回类型显式设置为包含 stringnumber 的元组来解决这个问题。

function getValues(): [string, number] {
  const str = 'hello';
  const num = 100;

  return [str, num];
}

// 👇️ const result: [string, number]
const result = getValues();

const [str, num] = getValues();

我们已经明确地键入函数以返回一个元组,其中第一个元素是一个字符串,第二个元素是一个数字。

现在,当我们将值解构为 strnum 变量时,它们的类型是正确的。

赋值左侧带有方括号的语法称为解构。

const [a, b] = ['hello', 'world'];

console.log(a); // 👉️ "hello"
console.log(b); // 👉️ "world"

一种简单的思考方式是——我们将数组的元素分配给变量。 请注意,赋值顺序和数组中值的顺序是相同的。

如果我们不想使用解构,则可以使用方括号表示法显式访问这些值。

function getValues() {
  const str = 'hello';
  const num = 100;

  return [str, num] as const;
}

// 👇️ const result: [string, number]
const result = getValues();

const str = result[0];
const num = result[1];

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:115 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 MySQL 中创建一个函数

发布时间:2023/05/09 浏览次数:180 分类:MySQL

本篇文章介绍了如何在 MySQL 中创建函数。 它首先解释语法,然后使用示例表创建一个函数。在 MySQL 中创建一个函数

使用 PHP MySQLi 函数获取最后插入的 ID

发布时间:2023/05/09 浏览次数:85 分类:MySQL

本篇文章简要介绍了 PHP mysqli() 函数并演示了如何使用它从 MySQL 数据库中获取最后插入的 ID。它是一个名为 mysqli 的 MySQL 驱动程序扩展版本,

使用 Date_ADD() 函数在 MySQL 中添加日期和时间

发布时间:2023/05/08 浏览次数:57 分类:MySQL

本文介绍如何使用 DATE_ADD() 函数在 MySQL 中添加日期和时间。 我们将学习如何单独添加或减少天、年、月和时间,以及如何将两者结合起来(例如,天和小时)。

在 C 语言中使用 nanosleep 函数

发布时间:2023/05/07 浏览次数:114 分类:C语言

本文演示了如何在 C 语言中使用 nanosleep 函数。在 C 语言中使用 nanosleep 函数用高分辨率定时器暂停程序执行

在 C 语言中使用 crypt 函数

发布时间:2023/05/07 浏览次数:177 分类:C语言

本文演示了如何使用 C 语言中的加密函数。使用 crypt 函数对密码进行哈希存储 crypt 实际上是一个由四个函数组成的系列

使用 C 语言中的 getchar 函数

发布时间:2023/05/07 浏览次数:172 分类:C语言

本文介绍了如何使用 C 语言中的 getchar 函数。在 C 语言中使用 getchar 函数从标准输入流中读取单个字符

在 C 语言中的 printf 函数中对齐列

发布时间:2023/05/07 浏览次数:99 分类:C语言

本文介绍了如何在 C 语言中的 printf 函数中对齐列。使用%{integer}d 符号来对齐 C 语言中的输出 printf 是标准 I/O 库的一部分,可以利用它将格式化的字符串输出到 stdout 流。

使用 C 语言中的 feof 函数

发布时间:2023/05/07 浏览次数:164 分类:C语言

本文演示了如何在 C 语言中使用 feof 函数。使用 feof 函数检查 C 语言中文件流上的文件结束指示符 feof 函数是 C 标准输入/输出库的一部分,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便