本篇文章给大家分享7个你需要知道的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. Pick4e2a32c6388cf5960c2e01475a1f2df9
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. Omit4e2a32c6388cf5960c2e01475a1f2df9
Omit
与Pick
相反。 Keys
不是说要保留哪些属性,而是指要省略的属性键集。 当我们只想从对象中删除某些属性并保留其他属性时,这个会更有用。
type User = { name: string age: number address: string occupation: string } type BasicUser = Omit<User, "address" | "occupation"> // type BasicUser = { // name: string; // age: number; // }
3. Partial30690cee1a11d5dfbdced93b89f678ee
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. Required30690cee1a11d5dfbdced93b89f678ee
Required
与Partial
相反。它构造了一个类型的所有属性都是必填的类型。它可以被用来确保在一个类型中没有可选属性出现。
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. Readonly30690cee1a11d5dfbdced93b89f678ee
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. ReturnType30690cee1a11d5dfbdced93b89f678ee
ReturnType
从一个函数类型的返回类型构建一个类型。当我们处理来自外部库的函数类型并希望基于它们建立自定义类型时,它是非常有用的。
import axios from 'axios' type Response = ReturnType<typeof axios> function callAPI(): Response{ return axios("url") }
除了上面提到的,还有其他实用类型可以帮助我们编写更干净代码。关于实用工具类型的TypeScript文档链接可以在这里找到。
https://www.typescriptlang.org/docs/handbook/utility-types.html
实用类型是TypeScript提供的非常有用的功能。开发人员应该利用它们来避免硬编码类型。要比同事更秀? 这些就是你需要知道的!
本文转载在:https://segmentfault.com/a/1190000040574488
更多编程相关知识,请访问:编程入门!!
以上是浅谈TypeScript中值得了解的7个方法的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。