ECMA Script6(JavaScript)では、Javaと同じように三項演算子が使えます。
1 2 3 |
let a = ''; let b = a === '' ? 'test1' : 'test2'; conosole.log(b); |
結果は以下のようになります。
1 |
test1 |
三項演算子で気をつけること
ちょっとハマってしまったのでメモ。
1 2 3 |
let b = ''; let c = 'aaa' + b === '' ? 'test1' : 'test2'; console.log(c);// 'aaa' + bが先に評価される |
上記は文字列を連結したかったのですが、上記のように記述すると、’aaa’+bが先に評価されてしまい、’test2’が返ります。
また’aaa’も消えてしまうのでちょっとハマってしまいました。これを期待通り動かせたい場合は括弧で囲むだけです。
1 2 3 |
let b = ''; let c = 'aaa' + (b === '' ? 'test1' : 'test2'); console.log(c); |
結果は以下のようになります。
1 |
aaatest1 |
a ? true : falseという記述方法もできます。
わかりやすく記述するなら
1 |
a === undefined ? true : false; |
このように書けばわかりやすいですが、
1 |
a ? true : false |
も記述可能です。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^