JavaScriptの勉強:条件演算子「?」

実はまだまだ知らない事が多いJavaScriptの基本、
ちゃんと勉強しないとなーなんて思うのですが、
ちょくちょく気づいた時にしかできなかったりします。
そんな今回「あれ?なんだっけな、これ?」
なんて思ったのが「?」の使いどころ。
調べてみたら、条件演算子ということ。
どういう使い方ができるのか、少し試してみた。
条件演算子を使ってみた
条件演算子を使ったサンプルを作ってみる事にした。
ついでにifの条件分岐とちょっとだけ正規表現とかも入れてみた。
$(function(){
$('button').click(function(){
$('form').attr('action','');
xx = $('input').val();
if(xx >= 21 || xx <= 0){
alert('数字は1から20の間で入力してください。');
return false;
}else if(xx.match(/\D/)){
alert('数字を入力してください');
return false;
}else{
yy = (xx >= 10) ? "big" : "small";
$('div.preview p.demo01').text(xx+'は'+yy);
return false;
};
});
});
1〜20の数字を入力してください。10以上ならbig、それ以下ならsmallを表示。
ここに判定結果を表示
またわかり辛い例を作ってしまった。
1〜20の数字を入れたときのbig or smallの判定を条件演算子を使っている。
あとは条件分岐のifで分岐させてしまった。
その部分も比較演算子とかでもできるのだろうか。
・・・それは別の機会に考えてみることにしよう。
とりあえず簡易判定には使えそうだ。
もう少しわかりやすい条件演算子例
もう少し部分的に作ってみた
$(function(){
var xyz = 10;
var zz = (xyz >= 5) ? "5以上です(true)" : "5以下です(false)";
$('p#demo00').text('xyzが10の時zzは'+zz);
});
xyzが5以下か5以上かの判定。
xyzが10の時zzは
ついでに比較演算子も
ついでに比較演算子についても勉強。
特に、変数に入れる段階で指定する場合は何がはいるのかを確認。
$(function(){
var hoge = 2;
var hoge2 = 2;
var Display1 = (hoge == hoge2);
var Display2 = (hoge != hoge2);
var Display3 = (hoge < hoge2);
var Display4 = (hoge <= hoge2);
var Display5 = (hoge > hoge2);
var Display6 = (hoge >= hoge2);
var Display7 = (hoge === hoge2);
$('#test1').text('hoge == hoge2は '+Display1);
$('#test2').text('hoge != hoge2は '+Display2);
$('#test3').text('hoge < hoge2は '+Display3);
$('#test4').text('hoge <= hoge2は '+Display4);
$('#test5').text('hoge > hoge2は '+Display5);
$('#test6').text('hoge >= hoge2は '+Display6);
$('#test7').text('hoge === hoge2は '+Display7);
});
hoge = 2でhoge2 = 2の時
- hoge == hoge2は
- hoge != hoge2は
- hoge < hoge2は
- hoge <= hoge2は
- hoge > hoge2は
- hoge >= hoge2は
- hoge === hoge2は
なるほど、trueとかの判定が返ってくるのですね。
これも勉強になりました。

見た目から三項演算子っぽいですね。
僕も調べるまで実はしらなかったのです。
まだまだ勉強不足ですよ〜。
この方法はtrueかfalseかを判定して、
それぞれの結果を出すだけのことで利用するなら、
ifを使うよりも簡単だと思います。