TypeScript-可选-默认-剩余参数

可选参数

  • 假设这个时候我有一个需求: 要求定义一个函数可以实现 2 个数或者 3 个数的加法
  • 这个时候就可以利用可选参数来进行实现
  • 实现方式为,在需要进行可选的参数名称后面添加一个 ? 即可实现

image-20211128123915272

function add(x: number, y: number, z?: number): number {
    return x + y + (z ? z : 0);
}

// let res = add(10, 20);
let res = add(10, 20, 30);
console.log(res);
  • 可选参数可以配合 函数重载 一起使用,这样可以让函数重载变得更加强大
function add(x: number, y: number): number;
function add(x: number, y: number, z: number): number;
function add(x: number, y: number, z?: number) {
    return x + y + (z ? z : 0);
}

let res = add(10, 20);
// let res = add(10, 20, 30);
console.log(res);

注意点

  • 可选参数后面只能跟可选参数

image-20211128124227648

function add(x: number, y?: number, z: number): number {
    return x + (y ? y : 0) + (z ? z : 0);
}

let res = add(10, 20, 30);
console.log(res);
  • 可选参数可以是一个或多个

image-20211128124323879

function add(x: number, y?: number, z?: number): number {
    return x + (y ? y : 0) + (z ? z : 0);
}

let res = add(10);
console.log(res);

默认参数

function add(x: number, y: number = 10): number {
    return x + y;
}

// let res = add(10);
let res = add(10, 30);
console.log(res);

剩余参数

function add(x: number, ...args: number[]) {
    console.log(x);
    console.log(args);
}

add(10, 20, 30, 40, 50);

end02

posted @ 2021-11-28 12:49  BNTang  阅读(155)  评论(0编辑  收藏  举报