let?f1?=?(age:number)?:?string?=>?{` ? ?``return `找到了${age}的小哥哥`;```}``let age1 :number = 21;``let?res1?:?string?=?f1(age1);

注意:表达式定义完以后,必须调用函数

函数表达式还有一种写法:?函数表达式:指定变量fn的类型

注意不要混淆了 TypeScript 中的 => 和 ES6 中的 =>

在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。


/ let fn: (x: Type, y: Type) => Type = (x, y) => {}` `//例子``var run3: (x: number, y: number) => string = function(x: number, y: number): string{` ? ?`return 'run3';``}``console.log(run3(1, 2))` `//当给变量run3指定类型的时候,应该是函数的参数和返回值的约束类型。如果用后面学到的ts类型推论,可以简写为:` `var run4: (x: number, y: number) => string = function(x, y){` `// 类型推论可以确定函数的参数和返回值类型,也就可以省略类型指定` ? ?`return 'run4';``}``console.log(run4(1, 2))

2. 函数没有返回值可以使用void类型值定返回值


function??f3()?:?void?{` ? ?`console.log('没有返回值')``}``f3()

3. 可选参数的函数

注意:可选参数一定要放在参数的最后面


function f4(age:number, cm?:number) : string {``//cm为可选参数,可传可不传` ? ?`if (cm) {` ? ? ? ?``return `可选参数------身高为${cm}厘米`;`` ? ?`} else {` ? ? ? ?`` return `可选参数-----年龄${age}岁` `` ? ?`}``}``console.log(f4(12))``console.log(f4(24, 175))

4. 有默认值参数的函数

注意:ts会将添加了默认值的参数识别为可选参数,有默认值的参数的位置不受【可选参数必须放在后面】的限制


function f5(age:number, cm:number = 188) : string {` ? ?`` return `默认参数----年龄为${age}岁---身高为${cm}cm` ```}``console.log(f5(25))

5. 剩余参数的函数


//当有很多参数的时候,或者参数个数不确定,可以用三点运算符``function f6(...rest:number[]) : number[] {` ? ?`return [...rest];``}``console.log(f6(1,2,3,4,5,6,7,8,9))` `function f7(a:number, b:number, ...rest:number[]) : number[] {` ? ?`return [a, b, ...rest]``}` `console.log(f7(100,200,1,2,3,4,5,6))

6. 接口中的函数

第一种写法


interface int1 {` ? ?`say (age:number) : void ?//抽象方法``}

第二种写法

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

    TypeScript基本知识点整理,前端面试

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】