iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > html >TypeScript中值得了解的方法有哪些
  • 156
分享到

TypeScript中值得了解的方法有哪些

2024-04-02 19:04:59 156人浏览 独家记忆
摘要

小编给大家分享一下typescript中值得了解的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!TypeScript

小编给大家分享一下typescript中值得了解的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

TypeScript 中的类型系统是非常强大的。它为我们提供了类型安全。类型系统虽然受人喜爱,但如果我们不规划和设计类型和接口,它也会让我们的代码变得混乱难读。

泛型

避免代码重复中,创建可重用的类型,是我们编写简洁代码重要的一环。泛型是 TypeScript 的一个功能,它允许我们编写可重用的类型。看下面的例子:

type Add<T> = (a: T, b: T) => T

const addNumbers: Add<number> = (a, b) => {
  return a + b
}

const addStrings: Add<string> = (a, b) => {
  return a + b
}

将正确的类型放入Add的泛型中,它可以被用来描述两个数字的相加或两个字符串的连接。我们不需要为每个函数写一个类型,而只需要用泛型做一次。这不仅节省了我们的精力,而且还使我们的代码更加简洁,更不容易出错。

实用类型

TypeScript 原生提供了几个有用的实用类型来帮助我们进行一些常见的类型转换。这些实用类型是全局可用的,它们都使用了泛型。

下面这7个是我经常用到的。

1. Pick<Type, Keys>

Pick会从 Type 中挑选属性集 Keys 来创建一个新的类型,Keys 可以是一个字符串字面或字符串字面的联合。Keys 的值必须是 Type 的键,否则TypeScript编译器会抱怨。当你想通过从有很多属性的对象中挑选某些属性来创建更轻的对象时,这个实用类型特别有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Pick<User, "name" | "age">

// type BasicUser = {
//   name: string;
//   age: number;
// }

2. Omit<Type, Keys>

OmitPick相反。 Keys 不是说要保留哪些属性,而是指要省略的属性键集。 当我们只想从对象中删除某些属性并保留其他属性时,这个会更有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type BasicUser = Omit<User, "address" | "occupation">

// type BasicUser = {
//   name: string;
//   age: number;
// }

3. Partial<Type>

Partial 构造了一个类型,其所有的类型属性都设置为可选。当我们在编写一个对象的更新逻辑时,这个可能非常有用。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type PartialUser = Partial<User>

// type PartialUser = {
//   name?: string;
//   age?: number;
//   address?: string;
//   occupation?: string;
// }

4. Required<Type>

RequiredPartial相反。它构造了一个类型的所有属性都是必填的类型。它可以被用来确保在一个类型中没有可选属性出现。

type PartialUser = {
  name: string
  age: number
  address?: string
  occupation?: string
}

type User = Required<PartialUser>

// type User = {
//   name: string;
//   age: number;
//   address: string;
//   occupation: string;
// }

5. Readonly<Type>

Readonly 构建了一个类型,其类型的所有属性被设置为只读。重新分配新的值 TS 就会报错。

type User = {
  name: string
  age: number
  address: string
  occupation: string
}

type ReadOnlyUser = Readonly<User>

const user: ReadOnlyUser = {
  name: "小智",
  age: 24,
  address: "厦门",
  occupation: "大迁世界"
}

user.name = "王大冶"
// Cannot assign to 'name' because it is a read-only property.

6. ReturnType<Type>

ReturnType 从一个函数类型的返回类型构建一个类型。当我们处理来自外部库的函数类型并希望基于它们建立自定义类型时,它是非常有用的。

import axiOS from 'axios'

type Response = ReturnType<typeof axios>

function callapi(): Response{
  return axios("url")
}

除了上面提到的,还有其他实用类型可以帮助我们编写更干净代码。关于实用工具类型的TypeScript文档链接可以在这里找到。

以上是“TypeScript中值得了解的方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: TypeScript中值得了解的方法有哪些

本文链接: https://www.lsjlt.com/news/81603.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • TypeScript中值得了解的方法有哪些
    小编给大家分享一下TypeScript中值得了解的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!TypeScript ...
    99+
    2024-04-02
  • 值得深入了解的MySQL故障有哪些
    这篇文章将为大家详细讲解有关值得深入了解的MySQL故障有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、主从复制的模式和原理解读MySQL主从复制可...
    99+
    2024-04-02
  • Vue源码中值得学习的方法有哪些
    本篇内容介绍了“Vue源码中值得学习的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 数据类...
    99+
    2024-04-02
  • CSS编程中值得注意的地方有哪些
    这期内容当中小编将会给大家带来有关CSS编程中值得注意的地方有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。CSS即层叠样式表,所以一层一层覆盖其实是其本质特征。真正...
    99+
    2024-04-02
  • Vue3中Typescript的基本使用方法有哪些
    这篇文章主要介绍“Vue3中Typescript的基本使用方法有哪些”,在日常操作中,相信很多人在Vue3中Typescript的基本使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中Ty...
    99+
    2023-06-27
  • ES2019中值得收藏的功能有哪些
    这篇文章主要介绍了ES2019中值得收藏的功能有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES2019 规范是对 JavaScript的小规模扩展,但仍带来了一些有趣...
    99+
    2023-06-14
  • Typescript的基本使用方法有哪些
    本篇内容主要讲解“Typescript的基本使用方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Typescript的基本使用方法有哪些”吧!超集是集合...
    99+
    2024-04-02
  • Java中的HTTP库有哪些值得使用的?
    随着互联网的不断发展,HTTP协议成为了互联网上最为常用的协议之一。而在Java开发中,很多时候都需要使用HTTP协议来进行网络通信。Java中有很多优秀的HTTP库,本文将会介绍一些值得使用的HTTP库,并通过演示代码来展示它们的基本使...
    99+
    2023-08-18
    http npm spring
  • Java中的缓存加载算法有哪些值得推荐的?
    Java是一门广泛使用的编程语言,其在开发过程中,缓存加载算法显得尤为重要。本文将介绍几种值得推荐的Java中的缓存加载算法。 LRU算法 LRU算法(Least Recently Used)是一种常用的缓存加载算法。该算法的思路是,当...
    99+
    2023-09-27
    load 缓存 编程算法
  • Windows 上 PHP 实时编程算法有哪些值得一试的方法?
    PHP 是一种广泛使用的服务器端脚本语言,用于开发动态网站和 Web 应用程序。PHP 语言的灵活性和易用性使其成为开发人员的首选之一。在 Windows 上,PHP 的实时编程算法有许多值得一试的方法。在本文中,我们将介绍几种最受欢迎的...
    99+
    2023-10-01
    实时 编程算法 windows
  • Spring3.2中值得关注的新特性有哪些
    这篇文章将为大家详细讲解有关Spring3.2中值得关注的新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一 不再需要web.xml 在新的Spring &nb...
    99+
    2024-04-02
  • 值得学习的Docker书籍有哪些
    值得学习的Docker书籍有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果你想学习Docker,并且正在寻找一些关于D...
    99+
    2024-04-02
  • 值得收藏的CSS技巧有哪些
    这篇文章主要讲解了“值得收藏的CSS技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“值得收藏的CSS技巧有哪些”吧!1. 使用 Shape-outs...
    99+
    2024-04-02
  • 值得使用的Nodejs框架有哪些
    本篇内容主要讲解“值得使用的Nodejs框架有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“值得使用的Nodejs框架有哪些”吧!1. Next.jsNex...
    99+
    2024-04-02
  • 值得掌握的Windows热键有哪些
    小编给大家分享一下值得掌握的Windows热键有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!你值得掌握的Windows的15个热键 win+ctrl+D 创建虚拟桌面 win+ctrl+左右箭头 切换桌面 ...
    99+
    2023-06-27
  • vue传值的方法有哪些
    这篇文章给大家分享的是有关vue传值的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框架的区别是,使用Vue可以...
    99+
    2023-06-14
  • Typescript的运行方式有哪些
    这篇文章主要介绍Typescript的运行方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、在线complier这种方式最简单,不需在本地做任何配置安装,只需进入Types...
    99+
    2024-04-02
  • TypeScript中的技巧有哪些
    这篇文章主要介绍“TypeScript中的技巧有哪些”,在日常操作中,相信很多人在TypeScript中的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”TypeSc...
    99+
    2024-04-02
  • TypeScript基本的语法有哪些
    本篇内容主要讲解“TypeScript基本的语法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“TypeScript基本的语法有哪些”吧!前端那么多酷炫的东西,真是太好玩了。但是,JavaS...
    99+
    2023-06-16
  • Go语言缓存方案有哪些值得关注的?
    Go语言是一门非常流行的编程语言,它的快速开发和高效性能让它在很多领域都得到了广泛的应用。其中,缓存是Go语言中非常重要的一部分,因为它可以帮助我们提高程序的执行效率和资源利用率。在本文中,我们将介绍一些值得关注的Go语言缓存方案。 一、G...
    99+
    2023-10-20
    缓存 日志 分布式
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作