TypeScript学习: 三、TypeScript 中的函数

TypeScript学习: 三、TypeScript 中的函数

  ES5的函数定义

// 匿名函数
var run1 = function() {

}
// 函数声明
function run2() {

}

 typeScript

// 返回类型需要定义,定义了返回number类型,函数的返回也必须是该number类型
function run():number{
    return 123;
}
// 参数类型也是一样,必须定义类型
function run(a:number, b:number):number{
    let c = a + b;
    return c;
}

 

 typeScript会验证你定义函数的参数类型,和返回类型

没有返回值

      

 

 

function run(a:number|string, b:number):void{
    let c = `a参数${a} --- b参数${b}`;
}
run(1,2);

 

方法可选参数

  ES5 中 方法的实参和行参可以不一样, 但是TS中必须一样,如果不一样,就需要配置,可选参数,添加一个问号

       

 

 默认参数,在ES5中无法设置默认参数,在ES6和typeScript才可以设置默认参数

  默认参数必须配置到参数的最后面,可选参数也是一样

 

给参数b指定默认值10

     

 

剩余参数

  比如要算几个数字的和

 

如果要算的数字和,比较多,那么,函数的参数就需要很多个,如果要算的数字有多少个,我们不知道,这时可以使用剩余参数方法,三点运算符

 

剩余参数,还可以添加其他参数

 

函数重载

javaScript 中没有函数重载的说法,如果出现函数名一样方法,后面定义的会覆盖前面的

java 中方法重载,指 两个或者两个以上的同名函数,但函数之间的参数不一样,赋予不同的参数就会调用不同的方法实现不同功能,实现了方法重载

TypeScript 中的重载和java的类似, 通过同一个函数提供多个函数类型定义来实现多种功能,方法重载让JavaScript语言更走向面向对象

TypeScript 的重载为了兼容ES5和ES6 和java 使用区别的

 

参数个数不同的写法,使用可选参数符号实现

 

 错误写法

 

 箭头函数, ES6写法

复制代码
// ES5写法
setTimeout(function() {
    console.log("run");
}, 1000)
// ES6写法
setTimeout(() => {
    console.log("run");
}, 1000)

// 箭头函数this指向问题: 箭头函数里面的this指向上下文
复制代码

 

posted @   花先生。  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示