ts(keyof,typeof)

  • keyof 获取某类型的键,返回联合类型
interface Person {
hair: string;
eyesColor: string;
} let P1 = keyof;
Penson; //"hair"||'eyesColor'
//特别
type K3 = keyof { [x: string]: Person }; // string | number
  • typeof 获取某值变量的类型
let xiaoming = {
hair: "black",
};
type K = typeof xiaoming; //K={hair:string}
const COLORS = {
red: "red",
blue: "blue",
}; // 首先通过typeof操作符获取color变量的类型{red:string,blue:string},然后通过keyof操作符获取该类型的所有键,
// 即字符串字面量联合类型 'red' | 'blue' type Colors = keyof typeof COLORS;
let color: Colors;
color = "red"; // Ok
color = "blue"; // Ok // Type '"yellow"' is not assignable to type '"red" | "blue"'.
color = "yellow"; // Error

参考

原文链接

ts(keyof,typeof)的更多相关文章

  1. ts 使用 keyof typeof

    传递参数 const cats = { "Coding Cat": "https://media.giphy.com/media/JIX9t2j0ZTN9S/giphy. ...

  2. TypeScript keyof typeof All In one

    TypeScript keyof typeof All In one keyof typeof refs https://www.typescriptlang.org/docs/handbook/re ...

  3. TypeScript中 typeof ArrayInstance[number] 剖析

    假设这样一个场景,目前业务上仅对接了三方支付 'Alipay', 'Wxpay', 'PayPal', 实际业务 getPaymentMode 会根据不同支付方式进行不同的付款/结算流程. const ...

  4. Vue3.x+element-plus+ts踩坑笔记

    闲聊 前段时间小颖在B站找了个学习vue3+TS的视频,自己尝试着搭建了一些基础代码,在实现功能的过程中遇到了一些问题,为了防止自己遗忘,写个随笔记录一下嘻嘻 项目代码 git地址:vue3.x-ts ...

  5. 如何编写 Typescript 声明文件

    使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的. TypeScript之所以叫Type,和它的强类型是分 ...

  6. typescript 点滴

    1 extend的用法 const x = extend({ a: 'hello' }, { b: 42 }); 2只有在d.ts,你才可以使用  export as 这样子的语法.而且必须有name ...

  7. React Native踩坑日记 —— tailwind-rn

    项目背景 在项目的初始阶段,我们需要建立自己的design system,我们spike了一些方案,tailwind-rn就是其中一种,如果有用到或者即将用到tailwind-rn的,可以进来看一看, ...

  8. TypeScript学习文档-基础篇(完结)

    目录 TypeScript学习第一章:TypeScript初识 1.1 TypeScript学习初见 1.2 TypeScript介绍 1.3 JS .TS 和 ES之间的关系 1.4 TS的竞争者有 ...

  9. JS Tree

    jQuery插件实例七:一棵Tree的生成史 在需要表示级联.层级的关系中,Tree作为最直观的表达方式常出现在组织架构.权限选择等层级关系中.典型的表现形试类似于: 一颗树的生成常常包括三个部分:1 ...

  10. 基于NopCommerce的开发框架——缓存、网站设置、系统日志、用户操作日志

    最近忙于学车,抽时间将Nop的一些公用模块添加进来,反应的一些小问题也做了修复.另外有园友指出Nop内存消耗大,作为一个开源电商项目,性能方面不是该团队首要考虑的,开发容易,稳定,代码结构清晰简洁也是 ...

随机推荐

  1. 基本能看懂的C编译器,只有365行!

    Fabrice Bellard is a French computer programmer known for writing FFmpeg, QEMU, and the Tiny C Compi ...

  2. Linux基础:ssh与scp

    登陆 登陆服务器 ssh user@hostname user: 用户名 hostname :IP地址或域名 第一次登陆会提示 The authenticity of host '123.57.47. ...

  3. 第一个shell

    首先进入linux系统,打开命令行,输入命令vi test.sh创建一个shell测试脚本,键入i切换vi编辑器为输入模式,输入以下文本内容,键入:wq保存退出即可.下面第一行的#!是告诉系统其后路径 ...

  4. 如何通过Terraform Associate考试并获得证书

    1 什么是Terraform? Terraform是一个IaC工具,IaC全称为Infrastructure as Code,基础设施即代码.它的理念是通过代码来管理基础设施,如服务器.数据库等,更多 ...

  5. node.js接收前端上传的文件并保存到其他位置+后端代码支持进度条

    一:直接上传文件,放入body里 1.前端代码 <input type="file" onchange="sendFiles(this.files)"&g ...

  6. 【学习笔记】Splay

    \(\texttt{0x01}\) 前言 Splay 树(伸展树)是一棵二叉搜索树,由 Daniel Sleator 和 Robert Tarjan 于 1985 年发明.它凭借旋转可以有 $O(\l ...

  7. Markdown快速入门——我不学 甚至没这篇文章

    Markdown快速入门---我不学甚至没这篇文章 写在前 俗话说:"工欲善其事,必先利其器".那么码字前,自然是要找到合适的工具.我这里就选用了VSCode+Markdown.( ...

  8. React组件渲染触发的条件-归纳总结

    一.React组件何时发生渲染--何时会生成React元素? React组件的渲染发生在两个阶段. 1. 组件挂载. 2. 组件更新. 二.React组件更新的触发条件是什么? 对没有实现should ...

  9. YonBuilder移动开发平台App拉起第三方应用

    在App的开发过程中,有一种常见场景,就是拉起第三方app,那么使用YonBuilder移动开发做app的时候,是怎么拉起第三方App的呢,下边我们讲一下步骤. 我们以安卓应用打开支付宝为例进行说明: ...

  10. 模型预处理层介绍(1) - Discretization

    预处理的作用主要在于将难以表达的string或者数组转换成模型容易训练的向量表示,其中转化过程大多是形成一张查询表用来查询. 常见的预处理方式包括: class Discretization: Buc ...