代入したい変数で、分岐があるときに、よく 三項演算子を使います。
TypeScript
1const message: string = (country === 'Japan' ? 'Ohayo' : 'Hi!');
しかし、条件式が長かったりする場合に、分岐をします。
TypeScript
1let message: string; // 初回しか代入しないので本当は const にしたい 2if (country === 'Japan') { 3 message = 'Ohayo'; 4} else { 5 message = 'Hi!'; 6} 7// ここから先、message の変更なし
初回に代入する以外は変更をしないので、本当は const
にしたいのですが、
代入が2回に分かれるので、しかたなく let
にしています。
このときに、const
にするのに良い方法はないでしょうか?
※ 他の言語だとしても、「そういう構文がある」 といった情報があれば、知りたいです。
※ 考え済のこと
思いつくのは、関数にすることですが、これだと、関数をたどるのが面倒です。
TypeScript
1const message: string = getMessage(country);
かといって、クロージャにすると、これはこれでやりすぎというか、可読性が悪いような気がします。
TypeScript
1const message: string = ((): string => { 2 if (country === 'Japan') { 3 return 'Ohayo'; 4 } 5 return 'Hi'; 6})();
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/03 12:56