在typescript中的if语句中分配一个非声明的值

时间:2017-05-25 14:21:58

标签: typescript

我试图在打字稿

中这样做
// some_array is filled with objects

if (let result = some_array.find(o => o.id == 42)) {
    // do stuff with result
}

some_array.find()将返回'undefined'或对象

因为这段代码在打字稿中不合法,有没有办法做到这一点?

现在我会这样做

let result = some_array.find(o => o.id == 42)

if (result) {
    // do stuff with result
}

我知道它只有一条线,但它会更清洁,更可读。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

let result;
if (result = some_array.find(o => o.id == 42)) {
    console.log(result.x);
}

但我不认为您可以在let中获得var(或const / if)。