美文网首页
TS语法函数重载

TS语法函数重载

作者: 码农私房菜 | 来源:发表于2023-12-21 09:29 被阅读0次

类型定义

/* 函数重载 */
function testFn(data: object): void
function testFn(lable: string, callback?: Function): void
function testFn(lable: string, value: string, index?: number): void

/* 方法重载 */
interface TestFn {
    (data: object): void
    (lable: string, callback?: Function): void
    (lable: string, value: string, index?: number): void
}
interface Utils {
    testFn: TestFn
}

函数(方法)实现

/* 函数实现 */
function testFn() {}
/* 方法实现 */
const utils: Utils = {
    testFn: () => {},
}

调用有对应的提示

// 函数调用
testFn()
// 方法调用
utils.testFn()

添加never可以有效的规避添加类型时,没有对应的处理逻辑

type Method = 'GET' | 'POST' | 'PUT'
function request(url: string, method: Method) {
    if (method === 'GET') {
    } else if (method === 'POST') {
    } else {
        // eslint-disable-next-line
        const n: never = method // 由于联合类型新增了【PUT】 导致TS错误提示, 可以有效的规避添加类型时,没有对应的处理逻辑
    }
}

相关文章

  • Redux源码阅读_3

    combineReducers.ts 函数重载声明 首先是对combineReducers函数的重载,重载了三个函...

  • Redux源码阅读_4

    applyMiddleware.ts 函数重载声明 首先是对applyMiddleware函数的重载,重载了七个函...

  • TS 函数重载

    函数重载 这个概念是在一些强类型语言中才有的,在JS中依据不同参数类型或参数个数执行一些不同函数体的实现很常见,依...

  • umijs@use-request源码解读

    一、了解ts基本语法 涉及ts的变量声明、接口、类、函数、泛型等 ts语法知识[https://typescrip...

  • js的重载

    问:什么是重载?答:同样的函数,不同样的参数个数。《JS高级程序设计》里是提到过函数是没有重载的,ts中有重载。但...

  • C++基础语法-重载、extern

    函数重载 今天我们来深入学习下C++的基础语法函数重载。函数重载定义:只要函数名相同,参数个数不同,参数类型不同,...

  • TypeScript 学习笔记3 函数

    1.函数定义 1.1 js 函数定义 1.2 ts 函数定义 2.函数重载 Typescript从0到1-学习视频...

  • 5.typeScript中函数相关知识点梳理。

    函数定义 函数重载 ts编译器在处理重载的时候,会去查询一个重载的列表,并且会尝试第一个定义,如果匹配的话就是用这...

  • 02|typescript常用实例

    一、定义索引数组 二、定义函数 函数参数可选 函数参数默认值 函数参数的剩余变量 函数的重载 三、ts中的类 类的...

  • 运算符重载

    运算符重载 运算符重载的本质是函数重载。 语法格式 operator 运算符名称 在一起构成了新的函数名。比如对于...

网友评论

      本文标题:TS语法函数重载

      本文链接:https://www.haomeiwen.com/subject/nlwxndtx.html