概述
笔记。
// 一、函数类型
// 1.为函数定义类型
// 函数传统写法
function add1(arg1: number, arg2: number): number {
return arg1 + arg2
}
// 函数ES6箭头函数
const add2 = (arg1: number, arg2: number) => arg1 + arg2
// ******类型定义********
const arg3 = 5
let add3: (x: number, y: number) => number // 定义, 常量不用定义
add3 = (arg1: number, arg2: number): number => arg1 + arg2 + arg3 // 使用
// 2.使用接口定义函数类型
interface Add {
(num1: number, num2: number): number // tslint 推荐用下面的类型别名
}
// 3.使用类型别名
type Add2 = (num1: number, num2: number) => number
type isString = string
// 二、参数
// 1.可选参数 (?可选参数 需要写在其他参数的后面)
type AddFunc2 = (arg1: number, arg2: number, arg3?: number) => number
let addFunc1: AddFunc2
addFunc1 = (x: number, y: number ) => x + y
addFunc1 = (x: number, y: number, z ) => x + y + (z ? z : 0)
// 2.默认参数
// 以前js写法 先判断
let addFunc2 = (x: number, y: number) => {
y = y || 0
}
// 现在 语法糖 ES6也有
let addFunc3 = (x: number, y: number = 0) => x + y
addFunc3 = (x: number, y = 0) => x + y // 可不写类型,ts会根据默认值判断出类型
// 3.剩余参数
// ES6之前的js
function handleData() {
if(arguments.length === 1) return arguments[0] * 2
else if(arguments.length === 2) return arguments[0] * arguments[1]
// ***** Array.prototype.slice.apply(arguments)
// arguments是类数组对象 通过这个方法转化为数组 类数组对象参照另一篇
// 类数组对象理解 https://blog.csdn.net/weixin_42423019/article/details/106781332
else return Array.prototype.slice.apply(arguments).join('_')
}
// ES6
const handleData1 = (...args: any) => { console.log(args) }
// TS中
const handleData2 = (arg1: number, ...args: number[]) => {
// ...
}
// 三、重载 (只能用function定义 不能用接口定义)
function handleData3(x: string): string[]
function handleData3(x: number): number[]
function handleData3(x: any): any { // 函数实体 不是重载的一部分
if (typeof x === 'string') {
return x.split('')
} else {
return x.toString().split('').map((item: string) => Number(item))
}
}
handleData3('abc') // 移到函数名上看类型
handleData3(666)
补充: 对类数组对象、对象、数组的理解 https://blog.csdn.net/weixin_42423019/article/details/106781332
题外话:前几天《人文通识》听到木心先生,《从前慢》的作者,搜了一下,看到了一句话
意大利全靠一个太阳 我全靠一个你
最后
以上就是激情钥匙为你收集整理的TypeScript-4.函数的全部内容,希望文章能够帮你解决TypeScript-4.函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复