前端 TS 快速入门之四:函数
1. 为函数定义类型
一般使用中,我们可以不必完整写出函数类型,因为 TypeScript 会为我们自动推断出类型,需要注意的是:类型中的参数名称可以不必和值中的参数名称匹配,只要它们类型是兼容的便可。
// 书写完成函数类型
let sum: (num1: number, num2: number) => number;
sum = function(num1, num2) {return num1 + num2
}
sum(1,2) // 3
2. 可选参数
参数名后面接一个 ?,该参数便成为了可选参数。注意:可选参数必须跟在必须参数后面
let square: (x: number, y: number, s?: number) => number;
square = function(width: number, height: number, scale?: number): number {if (scale) {return width * height * scale;} else {return width * height;}
};
square(5, 6); // 30
square(5, 6, 2); // 60
3. 默认参数
当用户没有给一个参数传递值或者传递的值是 undefined 时,这个参数叫做可以有默认值的参数,我们可以使用 = 指定这种情况下的取值,在所有的必须参数后面带默认值的参数都是可选的,与可选参数一样,在调用函数的时候是可以省略的,但是有默认值的参数不一定要放在必须参数的后面,也可以放在前面,当传入 undefined 的时候,就会取默认参数指定的默认值。
function square(width = 6, height = 6, scale: number, cut = 10): number {return width * height * scale - cut;
}
square(5, undefined, 2); // 5 * 6 * 2 - 10 = 50
4. 剩余参数
function max(a: number, b: number, ...resArr: number[]): number {return Math.max(a, b, ...resArr);
}
max(10, 5, 6, 100, 200); // 200
相关文章:
前端 TS 快速入门之四:函数
1. 为函数定义类型 一般使用中,我们可以不必完整写出函数类型,因为 TypeScript 会为我们自动推断出类型,需要注意的是:类型中的参数名称可以不必和值中的参数名称匹配,只要它们类型是兼容的便可。 // 书写完成函数类型…...
Linux 救援模式
Linux突然坏了 第三次坏了 第一次是找不到盘,修复好了 第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用 第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘…...
HOT100自查题集
前言 遗忘是人类的本能,经常自查是必不可少的。现在面试手撕已经是必备项目,手撕题目大部分来自于力扣 HOT100 以及对应方向的一些编码题。我对 HOT 100 的题目以及Java相关的一些编码题目进行了分类整理,并提供解题思路,用作复习…...
Post-Process1-水下
一、新建第三人称游戏项目,我这里选择C,你也可以选择Blueprint。 新建一个Level,命名为DemoUnderWater 保存一下,命名为DownUnderWater 添加水插件 选择Yes 勾选Show Engine Content和Show Plugin Content,在左侧可以看…...
通过pipeline配置sonar自动化实现过程解析
这篇文章主要介绍了通过pipeline配置sonar自动化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.sonar配置webhooks, 2.url填写jenkins的地址:http://jenkinsurl/sonarqu…...
Spring framework Day 23:容器事件
前言 容器事件是 Spring Framework 中的一个重要概念,它提供了一种机制,使我们能够更好地了解和响应 Spring 容器中发生的各种事件。通过容器事件,我们可以在特定的时间点监听和处理容器中的各种状态变化、操作和事件触发,以实现…...
【Dockerfile】基于openjdk镜像添加常用命令工具
背景 官方openjdk镜像是Red Hat操作系统,可以使用microdnf命令安装 bash-4.4# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa)拉取openjdk镜像 docker pull openjdk:17.0.2 编写Dockerfile touch Dockerfile-openjdk-utilsFROM openjd…...
目录内图片转PDF(多图片打印助手)
最近同事经常找我帮她打印试卷,很奇葩的是,她的试卷都是*红书上下载的图片,一张张打印不好看,而且可能打印不完全,大小也不协调,所以有了这个脚本。 【需要给小孩打印图片格式的试卷时也比较实用】 -----…...
React TypeScript安装npm第三方包时,些包并不是 TypeScript 编写的
npm install types/包名称 例如:npm install types/jquery 学习链接...
Java 基础 面试 多线程
1.多线程 1.1 线程(Thread) 线程时一个程序内部的一条执行流程,java的main方法就是由一条默认的主线程执行 1.2 多线程 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行) 许多平台都离不开多…...
软考 系统架构设计师系列知识点之软件构件(1)
所属章节: 第2章. 计算机系统基础知识 第3节. 计算机软件 2.3.7 软件构件 1. 概述 构件又称为组件,是一个自包容、可复用的程序集。构建是一个程序集、或者说是一组程序的集合。这个集合可能会以各种方式体现出来,如源程序或二进制代码。这…...
RHCE8 资料整理(三)
RHCE8 资料整理 第三篇 网络相关配置第11章 网络配置11.1 网络基础知识11.2 查看网络信息11.3 图形化界面修改11.4 通过配置文件修改11.5 命令行管理11.6 主机名的设置 第12章 ssh12.1 ssh基本用法12.2 打开远程图形化界面12.3 ssh无密码登录12.4 ssh安全设置12.5 ssh限制用户1…...
C++ 使用httplib库,发送HTTP请求
简介 C 使用httplib库,发送HTTP请求 接口信息 ip地址 192.168.16.166 端口 8899 接口地址/abc/tk 请求方式GET 响应内容: { “result”: true, “message”: “”, “tk”: “yueguangsaxialexiangshuitan0ihai”, “datetimeout”: “2023-10-22 21…...
OceanBase自动安装部署演示环境demo
OceanBase自动安装部署 前提条件 官方给出硬件条件需要满足以下要求 本文操作系统为:Red Hat Enterprise Linux 8 64 位 下载链接:https://pan.baidu.com/s/1rZ39xJFhk0HdmC4wEJcxvg 提取码:c01x 下载并安装 all-in-one 安装包 执行如下…...
windows系统mysql服务启动失败
原因 电脑重启navicat连接mysql失败,在电脑-管理-服务没有mysql服务 解决方案 找到mysql的安装目录进入bin目录 执行mysqld --install 进行重新安装 提示服务安装成功 net start mysql mysql 启动成功 ...
B-tree(PostgreSQL 14 Internals翻译版)
概览 B树(作为B树访问方法实现)是一种数据结构,它使您能够通过从树的根向下查找树的叶节点中所需的元素。为了明确地标识搜索路径,必须对所有树元素进行排序。B树是为有序数据类型设计的,这些数据类型的值可以进行比较和排序。 下面的机场代…...
React环境初始化
环境初始化 学习目标: 能够独立使用React脚手架创建一个React项目 1.使用脚手架创建项目 官方文档:(https://create-react-app.bootcss.com/) - 打开命令行窗口 - 执行命令 npx create-react-app projectName 说明:…...
Hadoop3教程(二十八):(生产调优篇)NN、DN的多目录配置及磁盘间数据均衡
文章目录 (148)NN多目录配置(149)DataNode多目录配置及磁盘间数据平衡磁盘间数据均衡 参考文献 (148)NN多目录配置 NN多目录的意思是,本地目录可以配置成多个,且每个目录存放内容相…...
博客续更(五)
十一、后台模块-菜单列表 菜单指的是权限菜单,也就是一堆权限字符串 1. 查询菜单 1.1 接口分析 需要展示菜单列表,不需要分页。可以针对菜单名进行模糊查询。也可以针对菜单的状态进行查询。菜单要按照父菜单id和orderNum进行排序 请求方式 请求路径…...
看微功耗遥测终端机如何轻松应对野外环境挑战?
在野外,数据的实时监测和传输是至关重要的。无论是环境温度、湿度,还是水位、流量,都需要精准把控。然而,传统的监测方法往往受限于电源供应问题,而无法充分发挥其功能。这时候,一款微功耗遥测终端机&#…...
新手必看:Ollama+translategemma-27b-it快速入门,本地离线翻译不求人
新手必看:Ollamatranslategemma-27b-it快速入门,本地离线翻译不求人 1. 为什么选择translategemma-27b-it? 1.1 本地离线翻译的独特优势 在当今全球化的工作环境中,我们经常需要处理多语言内容。传统翻译工具存在几个痛点&…...
将盾CDN:WAF工作机制与多层次防御策略解析
将盾CDN:Web应用防火墙的工作机制与防御策略 在当前数字化浪潮中,Web应用面临着DDoS攻击、SQL注入、跨站脚本等多元化威胁。将盾CDN通过智能防护机制,为企业Web应用构建了多层次的安全防线。## 将盾CDN的核心防护机制将盾CDN的WAF功能部署在…...
基于STM32F407与W5500的HAL库TCP通信实战指南
1. 硬件准备与连接 搞嵌入式开发的朋友都知道,硬件连接是第一步也是最容易出错的地方。我刚开始用STM32F407和W5500时,就因为SPI接线问题折腾了好几天。这里分享下我的经验,帮你少走弯路。 首先说说W5500这个模块,它是一款全硬件T…...
告别编译臃肿!手把手教你为Arduino UNO打造极简中文OLED菜单(基于U8g2自定义字库)
突破存储限制:Arduino UNO极简中文OLED菜单开发实战 1. 嵌入式开发中的中文显示困境与解决方案 在Arduino UNO等资源受限的嵌入式开发环境中,实现中文显示一直是个令人头疼的问题。默认的中文字库动辄占用数十KB的Flash空间,而UNO仅有32KB的存…...
为什么f(x)=x sin(1/x)是一个偶函数,奇函数乘以 偶函数得到的是偶函数?
视频生成垂直校验是干嘛的?一个人在某个特定的时间点,只能出现在一个地方。如果你画出这个人的运动轨迹,它一定能通过垂线校验。 画一个圆 坐标在圆中心,用垂直线通过圆,然后标记出 通过圆半径3 内的两个点 导致不知道…...
数据结构-双向链表-基础
#include <iostream> #include <stdio.h> #include<stdlib.h>//双向链表存储结构 typedef int ElemType; typedef struct node {ElemType data;struct node* prev, * next; }Node;//初始化 Node* initList() {Node* head (Node*)malloc(sizeof(Node));head-…...
过参数化如何重塑现代机器学习的性能边界
1. 过参数化:从理论禁区到性能引擎 第一次听说"模型参数比训练数据还多"时,我的反应和多数传统机器学习从业者一样——这简直是自寻死路。2016年调试ResNet时,明明加了Batch Normalization和L2正则,看着验证集loss曲线还…...
三大编程语言深度对比:C# vs 易语言 vs 汇编
C#、易语言和汇编语言是三种定位和应用场景完全不同的编程语言,以下是它们的核心区别对比:特性C#易语言汇编语言语言类型高级面向对象语言中文可视化编程语言低级机器导向语言开发范式支持OOP、函数式等事件驱动中文语法直接操作寄存器/内存执行方式编译…...
VC0706摄像头模块UART驱动与状态机设计详解
1. VC0706 Camera Shield 驱动技术深度解析 1.1 芯片级架构与硬件接口特性 VC0706 是由深圳中星微电子(Vimicro)推出的低功耗、高集成度 JPEG 编码图像处理 SoC,广泛应用于早期嵌入式视觉模块。RadioShack 推出的 VC0706 Camera Shield 是基…...
从Prompt工程师到MLOps架构师,大模型工程化人才跃迁路径全解析,一线大厂HR亲授筛选逻辑与成长陷阱
第一章:SITS2026圆桌:大模型工程化人才需求 2026奇点智能技术大会(https://ml-summit.org) 从实验室到产线的关键断层 当前大模型落地面临显著的“能力-工程”鸿沟:研究团队可高效调优百亿参数模型,但企业级服务要求低延迟推理、…...
