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

函数类型声明

数据类型指定

// 普通函数声明
function add(n1:number,n2:number):number {
    return n1 + n2;
}
//箭头函数声明
const formatTen = (n1:number):number=>n1*10

函数默认值

注意函数默认值与可选形参冲突二者之可选其一

// 普通函数声明
function add(n1:number=10,n2:number=10):number {
    return n1 + n2;
}
//箭头函数声明
const formatTen = (n1:number=10):number=>n1*10

函数可选形参

注意可选形参与函数默认值冲突二者之可选其一

// 普通函数声明
function add(n1?:number=,n2?:number):number {
    return n1 + n2;
}
//箭头函数声明
const formatTen = (n1?:number):number=>n1*10

对象数据类型形参声明

interface man{
	age:number
}

// 普通函数声明
function add(m1:man,m2:man):number {
    return m1.age + m2.age;
}
//箭头函数声明
const formatTen = (m1:man,):number=>m1.age>18?m1.age:18

函数中定义this的类型

第一个参数可以指定this的数据类型

interface Obj{
    age:number,
    add:(this:Obj)=>void
}
let obj:Obj = {
    age:17,
    add(this:Obj){
        this.age++;
    }
}

函数重载

let user:number[] =[1,2,3]
function fn(add:number[]):number[] // 新增
function fn(id:number):number[]// 查询
function fn():number[] // 查询全部
function fn(ids?:number|number[]):number[]{
    if (typeof ids==='number'){
        return user.filter(n=>n===ids)
    }else if (Array.isArray(ids)){
        user.push(...ids)
        return user
    }else{
        return user
    }
}

console.log(fn([5,4,5,67,8,7,9,8]))// 新增
console.log(fn(548))// 查询单个
console.log(fn())// 查询全部


相关文章:

  • 大模型-提示词(Prompt)技巧
  • 大模型AI Agent的工作原理与安全挑战
  • Android 中集成 Google 应用内评分
  • JavaRedis和数据库相关面试题
  • Axure疑难杂症:完美解决中继器数据互通、增删改查(玩转中继器)
  • 在 Windows 环境下使用 VSCode 和 TinyGo 开发 ESP8266(NodeMcu) or STM32
  • Tcp——客户端服务器
  • 【Guava】集合工具类-ImmutableListsMapsSets
  • TypeScript类型体操
  • 异步读取HTTP响应体的Rust实现
  • Linux内核内存管理 ARM32内核内存布局的详细解析和案例分析
  • 面试问题总结:qt工程师/c++工程师
  • 基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
  • 4.1刷题(链表)
  • 初学STM32系统时钟设置
  • Vue 组件 - Slot 内容分发
  • Windows搭建AI大模型应用开发环境以及踩过的坑
  • 软件测试(2):selenium 4.0 特点以及新特性
  • 数据库权限获取
  • MySQL基本查询
  • 微软宣布全球裁员约3%:涉及约6000人,侧重经理层
  • 中科飞测将投资超10亿元,在上海张江成立第二总部
  • 从《让·桑特伊》到《追忆》,假故事的胜利
  • 筑牢安全防线、提升应急避难能力水平,5项国家标准发布
  • 中国科学院院士徐春明不再担任山东石油化工学院校长
  • IPO周报|本周A股暂无新股网上申购,年内最低价股周二上市