0410 手打基础丸

手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。

TS的索引访问类(查找类型)?

用于获取对象属性类型的一种方式,允许在已知属性名的前提下从类型中取出这个属性的类型。

typescript 复制代码
interface f{
  x:string,
  y:number,
}
type newType = f['x'] // newType为string类型

TS中的条件类型?

类似与三元运算符,可以根据条件来确认类型

lua 复制代码
T extends U ? string : int // true为string,false为int

TS中的映射类型?

可以用来使用已有类型生成新的类型,相当于可以进行一个批量操作

typescript 复制代码
// 使用person生成映射类型,包含person的所有配置
type Partial<T> = {
  [P in keyof T] ?: T[P]
}
type ReadonlyPartial<T> = {
  [P in keyof T] : Readonly<T[P]>
}

interface f{
  x:string,
  y:number,
}
// 映射过来的type会将所有f中的属性变为可选属性
type Partialf= Partial<f>
// 映射过来的type会将person中所有属性变为只读
type ReadonlyPartialf =ReadonlyPartial<f>
const p: Partialf = {x : 'myname'}

TS中的keyof关键字?

用来获取某个对象类型的所有键并生成一个联合类型

ini 复制代码
type keys = keyof f // "x" | "y"

TS中的typeof关键字?

用来获取变量或表达式的类型

typescript 复制代码
let num = 10
console.log(typeof num) // "number"
// 可以和keyof联合使用
const colors = {
  red: "red",
  green:"green"
}
type ColorKeys = keyof typeof colors // 类型为"red"| "green"
let color :Colorkeys = "blue"// 非法赋值
let color :Colorkeys = "red"// 合法赋值
相关推荐
张拭心1 小时前
Cursor 又偷偷更新,这个功能太实用:Visual Editor for Cursor Browser
前端·人工智能
I'm Jie1 小时前
深入了解 Vue 3 组件间通信机制
前端·javascript·vue.js
用户90443816324602 小时前
90%前端都踩过的JS内存黑洞:从《你不知道的JavaScript》解锁底层逻辑与避坑指南
前端·javascript·面试
CodeCraft Studio3 小时前
文档开发组件Aspose 25.12全新发布:多模块更新,继续强化文档、图像与演示处理能力
前端·.net·ppt·aspose·文档转换·word文档开发·文档开发api
PPPPickup3 小时前
easychat项目复盘---获取联系人列表,联系人详细,删除拉黑联系人
java·前端·javascript
老前端的功夫3 小时前
前端高可靠架构:医疗级Web应用的实时通信设计与实践
前端·javascript·vue.js·ubuntu·架构·前端框架
前端大卫4 小时前
【重磅福利】学生认证可免费领取 Gemini 3 Pro 一年
前端·人工智能
孜燃4 小时前
Flutter APP跳转Flutter APP 携带参数
前端·flutter
脾气有点小暴4 小时前
前端页面跳转的核心区别与实战指南
开发语言·前端·javascript
lxh01134 小时前
最长递增子序列
前端·数据结构·算法