TS的函数如何定义类型

如何接受arguments参数
复制代码
function add(...args: string[]) {

    let list4: IArguments = arguments;

}

add('1', '2')
自定义一个args
复制代码
interface A1 {

    callee: Function,

    length: number,

    [index: number]: any

}

function adds(...args: string[]) {

    let list4: A1 = arguments;

}

adds('1', '2')
多个参数
复制代码
function add1(a: number, b: number): number {

    return a + b;

}

const add2 = (a: number, b: number): number => {

    return a + b;

}
默认值
复制代码
const add3 = (a: number = 10, b: number = 15): number => {

    return a + b;

}
可选参数
复制代码
const add4 = (a?: number, b?: number): void => {

}
定义一个对象参数
复制代码
interface User {

    name: string,

    age: number

}

function getName(data: User): User {

    return data;

}
定义this参数

//ts 可以定义this 必须是第一个参数

复制代码
interface Obj {

    list: number[],

    add: (this: Obj, num: number) => void

}

let obj: Obj = {

    list: [1, 2, 3, 4],

    add(this: Obj, num: number) {

        this.list.push(num);

        console.log(this.list)

    }

}
相关推荐
天天扭码2 分钟前
JavaScript 中字符串转字符数组的两种优雅方式
前端·javascript·代码规范
何遇er4 分钟前
在 AI 编程的热潮下对低代码的思考
前端·低代码·ai编程
何遇er8 分钟前
一句 Prompt 自动生成表单:我在低代码平台里是怎么接入生成式 AI 的
前端·低代码·ai编程
_一条咸鱼_9 分钟前
Vue 指令模块深度剖析:从基础应用到源码级解析(十二)
前端·javascript·面试
薯条不要番茄酱17 分钟前
【JavaEE初阶】多线程重点知识以及常考的面试题-多线程进阶(一)
java·前端·java-ee
只会安静敲代码的 小周38 分钟前
uniapp上传图片时(可选微信头像、相册、拍照)
前端·微信·uni-app
kovlistudio1 小时前
红宝书第四十六讲:Node.js基础与API设计解析
前端·javascript·node.js
陈哥聊测试1 小时前
这款自研底层框架,你说不定已经用上了
前端·后端·开源
蘑菇头爱平底锅1 小时前
数字孪生-DTS-孪创城市-低空范围
前端·javascript·数据可视化
KenXu1 小时前
Module Federation v0.12新特征详解
前端