条件分岐で変数を定義or代入する方法2種

1 min read読了の目安(約500字 4

追記

この記事の内容は,コメントにより指摘があった通り非推奨であるという意見があります.そのことを念頭においた上でお読みいただきますようお願いします.

三項演算子

JavaScriptではこんなふうに三項演算子を用いて,変数の値を決定することがよくある.

const info = { id: '123', age: 88 };
const userName = info.userName ? info.userName : 'no_name';

これは,infoにuserNameがあった場合は代入して,なかった場合は,no_nameを代入する記述である.

これは,結局if文と同じ原理なので,あるかないかという2択でしか分岐できない.

オブジェクトを使った分岐テクニック

では3択以上で分岐して代入したい.当然だけど短く書きたい.そんなときはこうすると良い.

const signalColor = 'red';
const action = { red: 'Stop', yellow: 'Be careful', blue: 'Go!!' }[signalColor];

所感

これはもはや構文ではなく知恵である.それでは僕はこれを知識に変えるとする.