美文网首页
TypeScript(四):函数

TypeScript(四):函数

作者: 林ze宏 | 来源:发表于2021-05-06 21:03 被阅读0次

1 函数

  • 函数声明
function add(x: number, y: number, z: number = 10): number {
  if (typeof z === 'number') {
    return x + y + z
  } else {
    return x + y
  }
}

let result = add(2, 3, 5)

可选参数,可选参数只能放在参数的最后面

function add(x: number, y: number, z?: number = 10): number {
  if (typeof z === 'number') {
    return x + y + z
  } else {
    return x + y
  }
}

let result = add(2, 3, 5)

  • 函数表达式
    函数表达式可以赋值给完全一样类型的变量
const add = function(x: number, y: number, z: number = 10): number {
  if (typeof z === 'number') {
    return x + y + z
  } else {
    return x + y
  }
}

const add2: (x: number, y: number, z?: number) => number = add

函数参数和返回值两种不同写法注解,如下:

// 函数注解两种不同写法
const fun1 = (str: string): number => {
  return parseInt(str, 10);
};


const fun2: (str: string) => number = (str) => {
  return parseInt(str, 10);
};

2 函数参数解构注解

// 参数解构注解
function add({ first, second }: { first: number; second: number }): string {
  return first + second + '';
}
// 调用
add({ first: 1, second: 3 });

3 void never

// void 什么都没有返回
function my(): void {
  console.log('...');
}

// never 函数永远都不可以执行完,如抛出错误,while死循环后面的代码,永远都不可能执行到
function mine(): never {
  throw new Error();
  // ...
}
function you(): never {
  while (true) {}
  // ...
}

相关文章

网友评论

      本文标题:TypeScript(四):函数

      本文链接:https://www.haomeiwen.com/subject/uggirltx.html