PilotGaea 2D O'view
    正在準備搜尋索引...

    類型別名 ConditionalResult<TSuccess, TFail>

    ConditionalResult: { success: true } & TSuccess | { success: false } & TFail

    TypeScript 類型,代表有可能成功或不成功的結果。

    successtrue 時,物件會 Narrow 為包含 TSuccess 屬性的物件。

    successfalse 時,物件會 Narrow 為包含 TFail 屬性的物件。

    類型參數

    • TSuccess

      successtrue 時,物件會包含的屬性

    • TFail = {}

      successfalse 時,物件會包含的屬性

    function random(): ConditionalResult<{ prize: number }, { message: string }> {
    return (Math.random() > 0.5) ? { success: true, prize: 100 } : { success: false, message: "You lose." };
    }

    let result = random();
    if (result.success) {
    console.log(result.prize); // 100
    console.log(result.message); // Error
    } else {
    console.log(result.prize); // Error
    console.log(result.message); // "You lose."
    }