TS 中 never,void,unknown类型详解

那么我们来详细讲解一下 TS 中 never、void 和 unknown 类型的相关知识点。

never 类型

never 类型表示永不存在的类型。也就是说,无法终止的函数或者总是抛出错误的函数的返回类型就是 never。 在实际使用中,通常用于处理不应该出现的情况或者用于避免编写无用的代码。

下面是一个示例函数,它总是会抛出异常:

function throwError(): never {
  throw new Error("something went wrong");
}

这里,throwError 函数永远不会有返回值,因为抛出了一个错误。所以,我们可以将该函数的返回值类型设定为 never

function test(): never {
  return throwError();
}

void 类型

void 类型表示没有任何值的类型。通常用于函数没有返回值的时候。下面是一个示例函数:

function printMessage(message: string): void {
  console.log(message);
}

这里,printMessage 函数不会返回任何值,因此它的返回类型是 void

unknown 类型

unknown 类型表示我们不知道某个值的确切类型。在 TypeScript 中,只有 any 类型可以被赋值给任何类型。但是,对于 unknown 类型,只有 unknownany 类型可以被赋值给它,而不能将其赋值给其他类型。因此,在 TypeScript 中使用 unknown 类型能够帮助我们更加明确地描述类型,弥补了 any 类型的缺陷。

下面是一个示例代码:

function processValue(value: unknown) {
  if (typeof value === "string") {
    console.log(value.toUpperCase());
  } else if (value instanceof Date) {
    console.log(value.toISOString());
  } else {
    console.log(value);
  }
}

这里,processValue 函数的参数类型为 unknown。在函数内部,我们使用 typeof 操作符和 instanceof 操作符检查传入的参数的类型。在不确定值的类型的情况下,我们可以使用 unknown 类型来替代 any 类型。

希望这份攻略能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:TS 中 never,void,unknown类型详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 浅谈golang的http cookie用法

    浅谈golang的http cookie用法 什么是Cookie? HTTP协议是无状态的,也就是说,当客户端加载一个页面或者访问一个接口时,服务器并不知道这个请求与之前的请求之间有关系,而Cookie就是为了解决这个问题的,它可以把一些关键性的信息,如用户的登录状态等,保存在客户端,以便在后续的请求中向服务器传递这些信息。 Cookie有两种类型,分别是s…

    JavaScript 2023年6月11日
    00
  • 使用JavaScript解析URL的方法示例

    下面我就来详细讲解一下“使用JavaScript解析URL的方法示例”的完整攻略。 什么是URL? 在讲解解析URL的方法之前,我们需要先了解一下什么是URL。URL(Uniform Resource Locator)是指统一资源定位符,简单来说就是我们用来表示资源在网络上位置的方法。URL包含了一些组成部分,例如:协议、域名、端口号、路径、查询参数等等。 …

    JavaScript 2023年5月27日
    00
  • JavaScript中使用Math.PI圆周率属性的方法

    当我们需要计算几何图形的面积或周长时,经常需要用到圆周率常数 π (pi)。在 JavaScript 中,我们可以使用 Math.PI 属性来访问这个数值,下面是详细步骤: 步骤1:访问Math.PI常数 Math.PI 属性中存储着圆周率的数值。可以通过直接使用 Math.PI 的方式来访问这个属性。代码如下: console.log(Math.PI); …

    JavaScript 2023年5月28日
    00
  • JavaScript封装的常用工具类库bee.js用法详解【经典类库】

    JavaScript封装的常用工具类库bee.js用法详解【经典类库】 1. 什么是bee.js bee.js是一款小而美的JavaScript工具类库,它提供了众多常用的功能函数,例如类型判断、DOM操作、数据结构等。它被设计成符合模块化开发思想,可以轻松集成到各种前端框架和项目中。 2. bee.js的安装和引入 你可以通过npm安装bee.js npm…

    JavaScript 2023年5月28日
    00
  • vue element-ui实现动态面包屑导航

    一、概述 面包屑导航是指网站或应用程序主导航之外的一种辅助性导航元素。随着单页应用(SPA)的普及,动态面包屑导航也变得越来越常见。Vue Element-UI提供了很好的组件支持,可以轻松实现动态面包屑导航的功能。 二、步骤 安装Vue和Element-UI 在Vue Element-UI中使用动态面包屑导航功能,需要先安装Vue和Element-UI。可…

    JavaScript 2023年6月10日
    00
  • 前端进阶之教你利用javascript存储函数

    那么我们来详细讲解“前端进阶之教你利用javascript存储函数”的完整攻略。 什么是javascript函数? Javascript函数是一种可重复使用的任务或计算机操作。使用函数可以将大块的JS代码封装到可重用的模块,从而可以更加方便地进行重用和维护。下面我们来看具体的实现过程。 javascript如何存储函数? 在Javascript中,可以通过将…

    JavaScript 2023年5月27日
    00
  • javascript的数据类型、字面量、变量介绍

    当谈到 JavaScript 时,数据是非常重要的。JavaScript 可以处理多种类型的数据。对于每种数据类型,JavaScript 都有相应的字面量和对应的变量类型。下面将详细介绍 JavaScript 数据类型、字面量和变量。 数据类型 JavaScript 有七种数据类型,其中六种是原始类型,一种为对象类型。原始类型包括数字、字符串、布尔值、nul…

    JavaScript 2023年5月28日
    00
  • 利用js获取服务器时间的两个简单方法

    获取服务器时间对于某些应用场景来说是十分必要的,例如网站倒计时、实时数据时序分析等。下面是两个利用 JavaScript 获取服务器时间的简单方法: 方法一:Ajax + PHP 1.编写 PHP 脚本 在服务器上编写一个 PHP 脚本,用于获取服务器时间,例如以下脚本: <?php date_default_timezone_set(‘Asia/Sh…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部