首页 > 其他分享 >typescript Omit Required Pick Partial等常用工具类型使用

typescript Omit Required Pick Partial等常用工具类型使用

时间:2024-06-12 17:34:14浏览次数:10  
标签:typescript Partial log type Required two interface console 常用工具

示例代码




interface mybasic {
  one: string,
  two: string,
  three: number,
  four: string
}

console.log("myts-demo")

// 排除参数属性
interface my1 extends Omit<mybasic, 'one'> { }


type mytype = keyof my1;


type mytype2 = my1;

// type 继承interface
type mytype3 = mytype & { six: string }
// 提取必要参数属性
interface my2 extends Pick<mybasic, 'one'> { }

let my2Demo: my2 = {
  one: "slkdfslkfjskfdj"
}
console.log(my2Demo, "my2Demo") //{one: 'slkdfslkfjskfdj'} 'my2Demo

// Partial就是所有属性类型非必须
interface my3 extends Partial<mybasic> { }

let my3Demo: my3 = {
  two: "slfkjsldfjsljf"
}

console.log(my3Demo, "my3Demo") //{two: 'slfkjsldfjsljf'} 'my3Demo

// Required 就是所有的参数都需要
interface my4 extends Required<mybasic>{}

type my5=my4 & {
  data?:Array<string> //数组声明方式
}

let my5Demo:my5={
  one:"slfdjslkjd",
  two:"sdjfsdls",
  three:234234,
  four:"sdlfjsldsfkjfd"
}

//已某些key为key,第二个参数是类型
type my6=Record<'one'|'two',string>

let my6Demo:my6={
  one:"sdlfsjldfksj",
  two:"slfjslfjsklf"
}

console.log(my6Demo,"my6Demo")
// {
//   "one": "sdlfsjldfksj",
//   "two": "slfjslfjsklf"
// }

标签:typescript,Partial,log,type,Required,two,interface,console,常用工具
From: https://www.cnblogs.com/jocongmin/p/18244373

相关文章

  • Mathematica Partial Fraction Decomposition
    遇到的问题Mathematica中有一个自带的部分分式分解函数Apart。In:=Apart[(-3+x)/((-1+x)(1+x))]Out:=-(1/(-1+x))+2/(1+x)但是Apart遇到分解结果中带无理数的就会摆烂:In:=Apart[x/(1-x-x^2)]Out:=-(x/(-1+x+x^2))解决方案1我们有一个......
  • Vue TypeScript 实战:掌握静态类型编程
    title:VueTypeScript实战:掌握静态类型编程date:2024/6/10updated:2024/6/10excerpt:这篇文章介绍了如何在TypeScript环境下为Vue.js应用搭建项目结构,包括初始化配置、创建Vue组件、实现状态管理利用Vuex、配置路由以及性能优化的方法,旨在提升开发效率与应用性能。categ......
  • TypeScript算法每日一题:最富有客户的资产总量(1672)
    作者:前端小王hs阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主题库:力扣题目序号:1672(简单)题目:最富有客户的资产总量给你一个mxn的整数网格accounts,其中accounts[i][j]是第i​​​​​​​​​​​​位客户在第j家银行托管的资产数......
  • vue3+TypeScript
    1.Vue3简介2020年9月18日,Vue.js发布版3.0版本,代号:OnePiece(n经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者官方发版地址:Releasev3.0.0OnePiece·vuejs/core截止2023年10月,最新的公开版本为:3.3.41.1.【性能的提升】打包大小减少41%。初次渲染快......
  • 全局 type 类型的寻找 typescript 类型 - fabric.Canvas
    全局type类型的寻找typescript类型-fabric.CanvasdeclaretypeExtCanvas=fabric.Canvas&{isDragging:boolean;lastPosX:number;lastPosY:number;};这个代码没有定义fabric.Canvas,然后看看提示说在namespace定义了。这个是子项目,没有type定义,上父项......
  • 编程记录:TypeScript中never类型的技巧
    技巧1当我们在一个项目中,可能会去改动一个在整个项目中应用很广泛的函数的参数类型,但是可能由于代码量比较庞大,我们不好排查改了之后哪些地方会出现问题,此时我们可以使用never类型来辅助我们的函数,当我们在原有的类型基础上添加了新的类型时,可能会导致else分支中的代码逻辑出现问......
  • C# 中String 系统类的常用工具
    String类的属性String类有以下两个属性:序号属性名称&描述1Chars在当前 String 对象中获取 Char 对象的指定位置。2Length在当前的 String 对象中获取字符数。 String类的方法序号方法名称&描述1publicstaticintCompare(stringstrA,stringstrB)比......
  • TypeScript与JavaScript之间的关系
    TypeScript是一种JavaScript的超集语言,这意味着任何有效的JavaScript代码在TypeScript中都是合法的。TypeScript的设计并不意图打破或改变JavaScript的语法,因此您可以将现有的JavaScript代码直接放入TypeScript文件中,无需担心代码的结构或格式。然而,TypeScript不仅仅是JavaScrip......
  • Vue3.0+typescript+Vite+Pinia+Element-plus搭建vue3框架!
    使用Vite快速搭建脚手架命令行选项直接指定项目名称和想要使用的模板,Vite+Vue项目,运行(推荐使用yarn)#npm6.xnpminitvite@latestmy-vue-app--templatevue#npm7+,需要额外的双横线:npminitvite@latestmy-vue-app----templatevue#yarnyarncreatevite......
  • 如何使用Node.js、TypeScript和Express实现RESTful API服务
    Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Express是一个保持最小规模的灵活的Node.jsWeb应用程序开发框架,为Web和移动应用程序提供一组强大的功能。使用Node.js和Express可以快速的实现一个......