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

tp框架做展示网站昆明著名网站

tp框架做展示网站,昆明著名网站,app推广活动策划方案,网站性能优化方法TypeScript 提供了一套强大的类型操作工具&#xff0c;可以帮助我们创建复杂的类型系统 基础类型工具 Partial<T> &#xff1a;将所有属性变为可选 interface User {name: string;age: number; } type PartialUser Partial<User>; // { name?: string; age?:…

TypeScript 提供了一套强大的类型操作工具,可以帮助我们创建复杂的类型系统

基础类型工具

Partial<T> :将所有属性变为可选

interface User {name: string;age: number;
}
type PartialUser = Partial<User>;  // { name?: string; age?: number; }

Required<T>:将所有属性变为必需

type RequiredUser = Required<PartialUser>;  // 恢复为原始User类型

Readonly<T>:将所有属性变为只读

type ReadonlyUser = Readonly<User>;

结构操作工具

Pick<T, K>:选择部分属性

type NameOnly = Pick<User, 'name'>;  // { name: string }

Omit<T, K>:排除部分属性

type WithoutAge = Omit<User, 'age'>;  // { name: string }

Record<K, T>:创建键值类型

type UserMap = Record<string, User>;  // { [key: string]: User }

联合类型工具

Exclude<T, U>:从T中排除U

type T = 'a' | 'b' | 'c';
type Result = Exclude<T, 'a'>;  // 'b' | 'c'

Extract<T, U>:提取T中符合U的类型

type Result = Extract<T, 'a' | 'd'>;  // 'a'

NonNullable<T>:排除null和undefined

type T = string | null | undefined;
type Result = NonNullable<T>;  // string

函数类型工具

Parameters<T>:获取函数参数类型

type Fn = (a: number, b: string) => void;
type Params = Parameters<Fn>;  // [number, string]

ReturnType<T>:获取函数返回值类型

type Ret = ReturnType<Fn>;  // void

ConstructorParameters<T>:获取构造函数参数类型:

class C {constructor(a: number, b: string) {}
}
type CP = ConstructorParameters<typeof C>;  // [number, string]

高级类型操作

条件类型

type IsString<T> = T extends string ? true : false;
type A = IsString<'hello'>;  // true
type B = IsString<123>;      // false

映射类型

type Getters<T> = {[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
};
type UserGetters = Getters<User>;
// { getName: () => string; getAge: () => number; }

模板字面量类型

type EventName = 'click' | 'scroll';
type HandlerName = `on${Capitalize<EventName>}`;
// "onClick" | "onScroll"

实用工具类型

Awaited<T>:解开Promise类型

type P = Promise<string>;
type Res = Awaited<P>;  // string

ThisParameterType<T>:获取函数的this参数类型

function f(this: { name: string }) {}
type This = ThisParameterType<typeof f>;  // { name: string }


文章转载自:

http://t5WeZIs5.jrLbj.cn
http://as4FPbpC.jrLbj.cn
http://J3EHKsEm.jrLbj.cn
http://U8NQho6u.jrLbj.cn
http://EJJcLw7B.jrLbj.cn
http://GC0J3DAK.jrLbj.cn
http://6UkyGaJE.jrLbj.cn
http://NkJKewgq.jrLbj.cn
http://vRxeVHiM.jrLbj.cn
http://W3lAQW3T.jrLbj.cn
http://Jnj6kr7K.jrLbj.cn
http://oSO4t6av.jrLbj.cn
http://vVUXaGVy.jrLbj.cn
http://6EOJY056.jrLbj.cn
http://HjJLEFYU.jrLbj.cn
http://N5mCQQ4R.jrLbj.cn
http://YMBpxODb.jrLbj.cn
http://LNv4n99n.jrLbj.cn
http://ALqtcgew.jrLbj.cn
http://bS2rVLP8.jrLbj.cn
http://mkKKPonR.jrLbj.cn
http://Dh0foHwv.jrLbj.cn
http://vOrE6S71.jrLbj.cn
http://pypZRxSa.jrLbj.cn
http://nCrPp5Rv.jrLbj.cn
http://iKlvKQXl.jrLbj.cn
http://raDsqyRJ.jrLbj.cn
http://U6hm4uiG.jrLbj.cn
http://9MVSAFF5.jrLbj.cn
http://vJK2fLJ1.jrLbj.cn
http://www.dtcms.com/wzjs/601536.html

相关文章:

  • 网站页面结构电商品牌授权网站
  • 做网站要学的技术河南做网站哪个平台好
  • e站注册网站网站被k怎么
  • wordpress做公司网站嘉兴营销型网站
  • 如何提高百度关键词排名站长工具seo优化
  • 网站logo制作软件皖icp备 网站建设
  • 做重视频网站discuz 科技网站模板
  • 大连图书馆网站建设要求海门做网站
  • 网络编程就是做网站么哪个网站可以做效果图
  • 网站建设分析方法合肥网站制作需
  • 帝国cms怎么做网站地图电子商务网站建设 精品课程
  • 律师网站建设怎么样适合学生做的网站
  • 表格如何给网站做链接地址国外网页加速器
  • 网站内链优化的角度做网站用什么语言好
  • 招标网站建设申请网站模版购买
  • 做调差问卷的网站交易系统开发
  • 网站职能在线制作软件
  • 淘宝单页面网站临沂做网站wyjzgzs
  • c 网站开发模式成都网站建设与开发
  • 合租网站设计wordpress识别环境的文件夹
  • 山东网站建设哪家有天津网站建设定制公司
  • 免费自助网站建设美食网站的作用
  • 网站开发和软件开发哪个好做的好的排版网站
  • 东莞模板网站制作哪家好汕头市住房和城乡建设局
  • 响应式全屏网站模板自己创建个人免费网站
  • 电脑网站与手机的区别是什么郴州新网手机版
  • 看装修效果图哪个网站好网络服务的工具
  • 电商网站制作wordpress 网站访问量
  • python 安装wordpress网站优化价格
  • 5个免费安全的资源网站长沙公司制作网站费用