天天看點

TypeScript-可選-預設-剩餘參數

可選參數

  • 假設這個時候我有一個需求: 要求定義一個函數可以實作​

    ​2​

    ​​ 個數或者​

    ​3​

    ​ 個數的加法
  • 這個時候就可以利用可選參數來進行實作
  • 實作方式為,在需要進行可選的參數名稱後面添加一個​

    ​?​

    ​ 即可實作
TypeScript-可選-預設-剩餘參數
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);      

注意點

  • 可選參數後面隻能跟可選參數
TypeScript-可選-預設-剩餘參數
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);      
  • 可選參數可以是一個或多個
TypeScript-可選-預設-剩餘參數
function add(x: number, y?: number, z?: number): number {
    return x + (y ? y : 0) + (z ? z : 0);
}

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

預設參數

  • 詳見 "​​ECMAScript​​",​​41-JavaScript-函數形參預設值​​
function add(x: number, y: number = 10): number {
    return x + y;
}

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

剩餘參數

  • 詳見 "​​ECMAScript​​",​​40-JavaScript-函數擴充運算符​​
function add(x: number, ...args: number[]) {
    console.log(x);
    console.log(args);
}

add(10, 20, 30, 40, 50);      
TypeScript-可選-預設-剩餘參數

繼續閱讀