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

TypeScript关键词Parameters和ReturnType

1.Parameters

        在typeScript中用来获取函数的参数类型关键词

语法:

Parameters<typeof 函数名称>

示例:

const test = (a: string, b: number, c: boolean) => {
  return {
    a,
    b,
    c,
  };
};

type testType = Parameters<typeof test>;
// type testType1 = [a: string, b: number, c: boolean]

type testType1 = Parameters<typeof test>[0];
// type testType = string

type testType2 = Parameters<typeof test>[1];
// type testType2 = number

type testType3 = Parameters<typeof test>[2];
// type testType3 = boolean

2.ReturnType

        在typeScript中用来获取函数的返回值类型关键词

语法:

ReturnType<typeof 函数>

示例:

返回值为person,则类型为personType

interface personType {
  name: string;
  age: number;
}

let person: personType = {
  name: "John",
  age: 30,
};

const personTest = (person: personType) => {
  return person;
};

type personTestType = ReturnType<typeof personTest>;
// type personTestType = personType

返回值为person.name,则类型为string

interface personType {
  name: string;
  age: number;
}

let person: personType = {
  name: "John",
  age: 30,
};

const personTest = (person: personType) => {
  return person.name;
};

type personTestType = ReturnType<typeof personTest>;
// type personTestType = string

返回值为person.age,则类型为number

interface personType {
  name: string;
  age: number;
}

let person: personType = {
  name: "John",
  age: 30,
};

const personTest = (person: personType) => {
  return person.age;
};

type personTestType = ReturnType<typeof personTest>;
// type personTestType = number


http://www.kler.cn/a/291888.html

相关文章:

  • MongoDB在现代Web开发中的应用
  • LeetCode题解:18.四数之和【Python题解超详细】,三数之和 vs. 四数之和
  • Rewar Model的输出(不包含训练)
  • 推荐一个基于协程的C++(lua)游戏服务器
  • 一文详细深入总结服务器选型
  • sql注入之二次注入(sqlilabs-less24)
  • Spring Coud Spring Clou Alibaba
  • dp练习【4】
  • HarmonyOS 延迟加载(lazy import)
  • 利用智能外呼机器人,重塑营销版图
  • QML学习二:Qt启用qml文件实时预览编辑,以及打印日志到控制台
  • 内核链表及使用
  • 使用matlab的热门问题
  • 5.1.数据结构-c/c++二叉树详解(上篇)(遍历,几种二叉树)
  • 【Spring Boot 3】【Web】全局异常处理
  • 【mac】brew 更新
  • psql常见报错解决
  • 探究 Eureka 在 Spring Boot 中的配置注入与统一管理机制(下)——第三节
  • wordpress发送邮件的方法?怎么配置功能?
  • 计算机考研真题知识点——2021(B)
  • Redis的Java客户端
  • if语句:if和else
  • 云计算实训40——部署nmt、部署project_exam_system项目
  • 触想内嵌式工业一体机应用于智能检票机改善旅游体验
  • 学学vue-1
  • c语言与c++的区别详解