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

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)

    }

}


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

相关文章:

  • Flask和Python实现在线课堂学生疲劳检测系统设计与实现
  • FreeRTOS的列表与列表项
  • 【WPF】Prism学习(二)
  • 基于Spring Boot的在线性格测试系统设计与实现(源码+定制+开发)智能性格测试与用户个性分析平台、在线心理测评系统的开发、性格测试与个性数据管理系统
  • layui的table组件中,对某一列的文字设置颜色为浅蓝怎么设置
  • 家政服务小程序,家政行业数字化发展下的优势
  • 【手写数据库toadb】SQL解析器的实现架构,create table/insert 多values语句的解析树生成流程和输出结构分析
  • 如何将vscode和Linux远程链接:
  • 节点导纳矩阵
  • redis命令记录
  • 【cpolar】Ubuntu本地快速搭建web小游戏网站,公网用户远程访问
  • 【开源】基于JAVA的大学兼职教师管理系统
  • 037、目标检测-SSD实现
  • Flume学习笔记(4)—— Flume数据流监控
  • 酷柚易汛ERP - 序列号盘点操作指南
  • YOLOv7独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
  • 关于爬虫中的hook(defineProperty,hook cookies, hook载荷数据,hookXHR)
  • 数字IC前端学习笔记:异步复位,同步释放
  • 「项目阅读系列」go-gin-example star 6.5k!(1)
  • <Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 2》(6)
  • 解决React遍历每次渲染多个根元素导致无法为元素赋值key的问题
  • 使用Spark SQL读取阿里云OSS的数据
  • 最强人工智能ChatGPT引领AIGC发展
  • 294_C++_报警状态bit与()上通道bit,然后检测置位的通道,得到对应置位通道的告警信息,适用于多通道告警,组成string字符串发送
  • C语言绘图
  • Lambda表达式(附有案例)