typescript基础知识(二)函数

【TypeScript】深入学习TypeScript函数 博主的TypeScript专栏正在慢慢的补充之中,赶快关注订阅,与博主一起进步吧!期待你的三连支持。 阅读详情

函数基本声明使用


typescript中的函数其实和ES6中的函数差不多,只是typescript中的函数在使用时要明确返回值的类型(因为最后是编译成JavaScript执行的,所以不写出返回值的类型也不会报错)明确的方法就是在括号后面加上要返回的类型

// 没有返回值
function fn():void{
    console.log('123');
}

// 返回值为number类型
function fnNum():number{
    return 1;
}

这里void类型表示可以不用返回值。

函数的类型


typescript中的函数类型和JavaScript中的函数类型是差不多的,基本的就有无参函数,带参函数,ES6的rest函数

无参函数

function fn():void{
    console.log('fn');
}

function fnNum():number{
    return 1;
}

带参函数

带参函数的参数有三种情况,普通的参数,可选的参数,有默认值的参数

带普通参数的函数

函数的参数的类型在声明函数时就要一起声明,且不可修改,也不可不传入该参数,同样不可以传入多个参数,这与JavaScript中没传入参数默认为undefined,传入过多参数放在arguments数组中不同

function introduce(name:string):string{
    return `my name is ${name}`;
}

带可选参数的函数

如果某个参数不知道是否会传入,那可以通过在该参数和类型前的“:”中间加个“?”来使该参数变为可选参数

function introduce(name:string,age?:string):string{
    if(age)
        return `my name is ${name} ,and my age is ${age}`;
    else
        return `my name is ${name}`;
}

带有默认值参数的函数

如果要使一个参数在不传入值时默认为为一个值时,可以使用默认参数,默认参数的用法和ES6中默认参数的用法类似,直接在函数声明的参数后面写上“=”+参数的默认值

function introduce(name:string,age:string='20'):string{
    return `my name is ${name} ,and my age is ${age}`;
}

console.log(introduce('jack', '18'));
// my name is jack ,and my age is 18

console.log(introduce('jack'));
// my name is jack ,and my age is 20

rest函数

rest函数与ES6中的rest函数类似,使用扩展运算符来实现rest函数。不同的在于这里的rest参数需要声明为数组类型,且需要为成员声明类型

function add(...res:number[]):number{
    let sum:number=0;
    for(let i=0;i<res.length;i++){
        sum+=res[i];
    }
    return sum;
}

函数的重载


在JavaScript中,如果我们写入两个同名函数,那么后面的函数就会替代前面的函数,也就没有了函数的重载,但在typescript中,可以使用函数的重载。typescript中的函数重载是重载传入的参数类型不同的函数,通过事先声明同名的函数和参数的类型,返回的类型,接着使用传入参数为any,返回值类型为any的函数体来完成对应的工作

function f(name:string):string;
function f(age:number):string;
function f(str:any):any{
    if(typeof str=='string') // 通过判断传入参数的类型来判断执行什么操作
        return `my name is ${str}`;
    else
         return `my age is ${str}`;
}

 

ctftools-all-in-one使用说明 OAEP (Optimal Asymmetric Encryption Padding) 是一种用于RSA加密的填充方案,目的是提高RSA加密的安全性。在CTF比赛中,如果模数N的两个因子比较接近,使用"费马分解(N)"可能会更快地得到结果;OAEP 是 RSA 的一种标准填充方式(在 PKCS#1 v2.0+ 中定义),因此这类题目本质上仍是 RSA 题,但。,导致你不能直接用常规的 RSA 解密公式 �=�� mod �m=cdmodN 得到有意义的明文。如果你在 CTF 中遇到 RSA 题, 阅读详情

相关推荐

Android Geckoview实战:5分钟搞定JS与原生交互(附完整Demo代码)

本文详细介绍了在Android应用中使用GeckoView替代系统WebView,构建稳定高效的JavaScript与原生代码交互桥梁的实战方法。通过WebExtension架构,文章提供了从环境配置、扩展开发到Android端集成的完整步骤,并附有可运行的Demo代码,帮助开发者快速解决混合应用中的兼容性问题。

u5v6w7的博客 941

ES6知识点

​ **3、深拷贝 ****参数的默认值(也可以解决形参undefined):**1、**扩展运算符: …数组/对象 可以:**1、**解构赋值的作用:**1.

m0_72815229的博客 198

逆向实战:如何绕过iTunes 12.6.5.3的反调试机制(附X64dbg插件配置)

本文深入剖析了iTunes 12.6.5.3的反调试机制与登录协议。通过X64dbg动态调试与IDA静态分析,详细演示了如何绕过其反调试检测,并定位到核心的登录协议加密函数,揭示了其请求签名(X-Apple-ActionSignature)的生成逻辑与依赖关系,为客户端安全研究与协议分析提供了实战思路。

weixin_29202213的博客 742

typescript(四)ts中函数的参数和返回值的类型定义

前面我们讲到过ts的静态类型定义中的函数类型定义,先来回顾下: const fnA: () => string = () => { return '1' } const fnB: () => number = () => 6 const fnC: () => boolean = () => true 拓展下:在接口中如何定义函数类型呢?接口后期会讲 interface Ifn { (one: number, two: number): number } let

weixin_44959855的博客 2万+

如何设计ADAS系统功能状态机(一)

状态机模块在自动驾驶系统中扮演着关键的角色,它负责管理和控制各个功能的状态转换和行为执行。今天我们来聊聊如何设计自动驾驶系统的状态机。

supass2018的博客 1617

Dify视觉模型节点避坑指南:我用Qwen2.5-VL做OCR识别时踩过的3个坑(及解决方案)

本文分享了使用Dify平台和Qwen2.5-VL视觉模型进行OCR票据识别时遇到的三个常见问题及解决方案,包括文件变量传递、结构化输出和条件分支判断失效。通过实战经验,帮助开发者优化多模态模型在财务自动化中的应用,提升OCR识别精度和效率。

weixin_29284885的博客 407

typeScript核心篇——通过TS写es6类型编程:枚举,类型推论,类型兼容性,高级类型

typeScript核心篇——通过TS写es6类型编程:枚举,类型推论,类型兼容性,高级类型

阿牛哥的博客 1879

python 写一个简单的 telegram bot (电报机器人)

replit.com 环境配置太恶心了,只能使用 poetry.poetry 这个名字是挺好听,用起来也是很垃圾,太恶心。heroku.com 注册登录不方便,需要各种验证。所以,部署的问题,目前搁置。

waterHBO的博客 3198

typeScript知识点之函数的使用

前言 typescript中函数的定义跟es5 es6中的方式可能不太一样,其中包含函数返回值、匿名函数、函数重载、函数传参等 最基本的函数定义 无参数 function run():string{ return 'run'; } 有参数 function getInfo(name:string,age:number):string{ return `${name} --- ${age}`; } 无返回值函数 function run():void{ console

小糖豆 382

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 RepViT 轻量级的Vision Transformers架构

本文记录的是基于RepVit的YOLOv11轻量化改进方法研究。RepVit的网络结构借鉴ViT的设计理念,通过分离的token mixe和减少推理时的计算和内存成本,同时减少扩展比率并增加宽度,降低延迟,并通过来弥补参数大幅减少的问题,提高了准确性。本文在替换骨干网络中配置了原论文中的和五种模型,以满足不同的需求。

Limiiiing的博客 2977

三种方法教你下载大模型到本地,总有一种适合你

本文主要介绍了下载大模型到本地的三种解决方案,希望能对同学们有所帮助。 文章目录 1. 场景/问题描述 2. 方案一:使用git 3. 方案二:镜像站 4. 方案三:高速下载工具(变体及自定义代码) 4.1 aria2 4.2 自定义代码

weixin_43178406的博客 17万+

TypeScript入门-7.函数特性-不定参数

TypeScript入门-7.函数特性-不定参数

意外金喜 1万+

ETAS工具导入DBC生成Com协议栈

ETAS工具导入DBC主要也是生成arxml用的,ETAS推荐使用Cobra导入,本文介绍导入过程及注意事项不管是导入DBC还是arxml,本质上都是为了生成对应的com协议栈,目的是为了减少重复的工作量,所以,前期定义好收发的矩阵很重要,一般导入一次之后,后面就可以按变更点手动更改了。

赞的博客 1714

「TypeScript系列」TypeScript 函数

在TypeScript中,函数与JavaScript中的函数非常相似,但TypeScript为函数参数和返回值提供了类型注解的能力。在 TypeScript 中,匿名函数、递归函数、构造函数和 Lambda 函数(在 TypeScript 中通常称为箭头函数)都是常见的函数类型。注意:在上面的例子中,我们只有一个函数体,但TypeScript的类型系统会确保你以正确的方式调用该函数。Lambda 函数(箭头函数)还可以省略参数括号和函数体的大括号,如果函数只有一个参数并且函数体只有一条语句的话。

日常笔记/总结/系列知识梳理 2316

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

阮一峰《TypeScript 教程》学习笔记二函数

这篇文章讲述Typescript中函数的写法,包括函数的类型、几种参数、函数重载、构造函数等。

weixin_45855469的博客 2157

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TypeScript - 函数(上)

函数是JavaScript应用程序的基础。它帮助你实现抽象层,模拟类,信息隐藏和模块。在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。函数是任何应用程序的基本构建块,无论它们是本地函数、从其他模块导入的函数,还是类上的方法。它们也是值,就像其他值一样,TypeScript 有很多方法来描述如何调用函数。让我们学习如何编写描述函数的类型。

专注于大数据方向,区块链,前后端,数据可视化,人工智能等领域 2634

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TypeScript基础知识

TypeScript 是 JavaScript 的类型的超集,支持ES6语法,支持面向对象编程的概念,如类、接口、继承、泛型等。安全兼容JavaScript,是JavaScript的超集;引入类型系统,可以尽早定位错误位置,帮助提升开发效率;先进的JavaScript,支持JavaScript的最新特性;TypeScript在社区的流行度越来越高,他非常适用于一些大型项目,也非常适用于一些基础库,极大地帮助我们提升了开发效率和体验。demo(2)

ZMN0057的博客 1098

【TypeScript】基础知识

void、never、enum、unknown、any,再加上自定义类型type、interface。推荐用来映射 number 类型,不推荐用来映射 string 类型(可以用 type 来映射)【js 方法】typeof 、instanceof、in。是接口,用于描述对象的属性(包括函数、非函数),用于给各种类型定义别名(注意不是类型声明)一句话总结:同名、可辨别的简单类型的 key。要求 T = A | B | C | D。【ts 方法】用 is 关键字。【ts 方法】可辨别联合类型。

weixin_40584890的博客 1077

TypeScript基础知识:函数使用

本次推文介绍的内容是typescript函数,在此并以JavaScript函数作为对比。 1. TypeScript 函数与 JavaScript 函数的区别 TypeScript JavaScript 含有类型 无类型 箭头函数 箭头函数(ES2015) 函数类型 无函数类型 必填和可 选参数 所有参数都是可选的 默认参数 默认参数 剩余参数 剩余参数 函数重载 无函数重载 2. 函数类型 // 方式一 let IdGenerator: (chars: str.

imagine_tion的博客 1113

TypeScript:函数

TypeScript里的每个函数参数都是必须的。 这不是指不能传递 null或undefined作为参数,而是说编译器检查用户是否为每个参数都传入了值。 编译器还会假设只有这些参数会被传递进函数。 简短地说,传递给一个函数的参数个数必须与函数期望的参数个数一致。

ChinaDragon10的博客 1356

Typescript基础知识:函数类型和箭头函数

函数类型声明在 TypeScript中,函数是一项重要的特性,它们允许我们组织和重用代码。本文将介绍TypeScript中的函数类型和箭头函数,并提供示例代码来说明其用法和优势。

aidscooler的专栏 1424

TypeScript函数

TypeScript的函数声明形式比JavaScript要复杂一些。

qq_37464878的博客 3104

TypeScript之基础知识

接口(Interface): 类型别名(Type Aliases): 3. 函数类型 4. 泛型 5. 联合类型与类型守卫 6. Vue 中的 TypeScript 使用 6.1 安装与配置 Vue CLI 项目: Vite 项目: 手动配置:安装依赖: 创建 : 6.2 Vue 组件的 TypeScript 写法 Options API: Composition API: 6.3 Props 类型定义 6.4 响应式数据与类型推断 6

ya3288426755的博客 1033

Typescript基础知识

1.Typescript介绍 1.1什么是javascript,typescript? js 运行在客户端中的编程语言 为网站提供交互特征 是网页‘动’起来 能在浏览器 服务器运行 ts 是js的超集(js有的ts都有)typescript=type+javascripe 为js添加了类型系统 优点 1类型思维方式,减少改BIG时间 2 构建代码更容易 3 补充js缺少的功能 安装 安装解析TS工具包 node.js/浏览器只认识js不认识ts 先将ts装换位js 然后可以在node.js/浏览器运行 1

Welcome to my csdn! 1909

【TypeScript】中的函数详解

在TypeScript中,如果我们编写了一个add函数,希望可以对字符串和数字类型进行相加,应该如何编写呢?我们可能会像上面这样来编写,但是其实是错误的, 编译阶段就会报错那么这个代码我们可以使用函数的重载编写函数的重载: 函数名称相同, 但是参数不同的几个函数, 就是函数重载参数不同: 参数的个数不同, 或者参数的类型不同, 都称为参数不同在TypeScript中,我们可以去编写不同的重载签名( overload signatures)来表示函数可以以不同的方式进行调用;...

m0_71485750的博客 2051

TypeScript 中函数的理解及其与 JavaScript 函数的差异

在 JavaScript 应用程序中,函数是核心组成部分,它们帮助我们实现代码的抽象、模拟类、隐藏信息和模块化。TypeScript 在保留 JavaScript 函数的基础上,提供了额外的功能和更丰富的应用场景。尽管 TypeScript 支持类、命名空间和模块,函数仍是定义行为的主要方式。在 TypeScript 的类型系统中,函数类型扮演着极其关键的角色,是构建可组合系统的核心。

全栈若城,专注知识分享 6万+
上一篇: typescript基础知识(一)基本类型
下一篇: LeetCode 79.单词搜索 Java实现
前端小黑
博客等级 码龄9年 148粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值