TypeScriptでif文の中で宣言されていない値を代入すること
私はこれを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' かオブジェクトのいずれかを返します
このコードはTypeScriptでは正当ではないので、これを行う方法はありますか?
今、私はこれをします
let result = some_array.find(o => o.id == 42)
if (result) {
// do stuff with result
}
たったもう一行だけだと分かっているけど、そちらの方がよりすっきりして読みやすいだろう。
回答 #1
あなたはこれをすることができます:
let result;
if (result = some_array.find(o => o.id == 42)) {
console.log(result.x);
}
しかし、ifの中でlet(またはvar/const)の宣言を持つことはできないと思います。
