当前位置: 首页 > java >正文

typescript中的type如何使用

在TypeScript中,type关键字用于创建类型别名。类型别名可以为任何类型提供一个新名字,这有助于使代码更加清晰和可维护。以下是一些使用type关键字的示例:

基本类型别名

type Age = number;
let myAge: Age = 30;

对象类型别名

type User = {id: number;name: string;
};
let user: User = {id: 1,name: "Alice",
};

联合类型

type Status = 'active' | 'inactive' | 'pending';
let currentStatus: Status = 'active';

元组类型

type Point = [number, number];
let coordinates: Point = [10, 20];

函数类型

type AddFunction = (a: number, b: number) => number;
let add: AddFunction = (a, b) => a + b;

字符串字面量类型

type CardinalDirection = 'North' | 'East' | 'South' | 'West';
let direction: CardinalDirection = 'North';

扩展类型

type BasicUser = {id: number;name: string;
};type ExtendedUser = BasicUser & {email: string;
};let extendedUser: ExtendedUser = {id: 1,name: "Bob",email: "bob@example.com",
};

映射类型

type ReadOnly<T> = {readonly [P in keyof T]: T[P];
};type ReadOnlyUser = ReadOnly<User>;let readOnlyUser: ReadOnlyUser = {id: 1,name: "Charlie",
};// Error: Cannot assign to 'id' because it is a read-only property.
// readOnlyUser.id = 2;

条件类型

type IsString<T> = T extends string ? true : false
type IsStringResult = IsString<string>; // true
type IsNumberResult = IsString<number>; // false

这些只是type关键字在TypeScript中的一些基本用法。类型别名可以极大地提高代码的可读性和可维护性,特别是在处理复杂的类型时。

http://www.xdnf.cn/news/11976.html

相关文章:

  • gitlab rss订阅失败
  • LeetCode 3226.使两个整数相等的位更改次数
  • SkyWalking架构深度解析:分布式系统监控的利器
  • Docker容器化的文件系统隔离机制解析
  • 解决com.jcraft.jsch.JSchException: Algorithm negotiation fail
  • CppCon 2015 学习:Beyond Sanitizers
  • 全角转半角函数(APP)
  • Viggle:开启视频人物替换新纪元
  • 书籍转圈打印矩阵(8)0604
  • Reids 如何处理缓存穿透、缓存击穿、缓存雪崩问题?
  • 使用ArcPy进行栅格数据分析
  • 麒麟+ARM架构安装mysql8的操作指南
  • 各个布局的区别以及示例
  • Sql Server 中常用语句
  • 计算机系统结构-第五章-目录式协议
  • psycopg2-binary、pgvector、 SQLAlchemy、 PostgreSQL四者的关系
  • 【无人机】无人机UAV、穿越机FPV的概念介绍,机型与工具,证书与规定
  • JavaScript性能优化实战:深入探讨JavaScript性能瓶颈与优化技巧
  • UE5 创建了一个C++类,现在我还有一个蓝图类,我想将编写的C++类中包含的功能加入到这个蓝图类里面,如何做到
  • 2025年渗透测试面试题总结-腾讯[实习]安全研究员(题目+回答)
  • P3156 【深基15.例1】询问学号
  • Windows系统工具:WinToolsPlus 之 SQL Server 日志清理
  • Centos 8系统ext4文件系统类型进行扩容缩容 (LVM)
  • FFMPEG 提取视频中指定起始时间及结束时间的视频,给出ffmpeg 命令
  • C#学习第27天:时间和日期的处理
  • 开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
  • H5移动端性能优化策略(渲染优化+弱网优化+WebView优化)
  • 从传统 RAG 到知识图谱 + Agent
  • 信创认证通关攻略:从环境搭建到测试报告的全流程操作指南
  • Day39 训练