TypeScript - 在三元条件下执行多个操作

时间:2018-02-09 14:55:07

标签: typescript

是否可以在三元条件下执行多个操作?类似于以下内容(不起作用):

condition ? () => {
    // Perform multiple actions within this delegate function if the condition is true
} : // Perform an action if the condition is false;

1 个答案:

答案 0 :(得分:2)

如果你想用一个功能来做这件事,那很简单:

condition ? console.log("true") : console.log("false");

如果你想要调用多个函数,它会有点复杂:

condition 
    ? (() => {
        console.log("true");
        console.log("still true");
    })()
    : (() => {
        console.log("false");
        console.log("still false")
    })();

这是因为当你有一个三元时,它会立即调用块内的任何东西。因此,如果要调用函数,则需要使用()执行该函数。

但就个人而言,我会建议不要这样做。我认为它远不如:

if (condition) {
    console.log("true");
    console.log("still true");
} else {
    console.log("true");
    console.log("still true");
}