【JavaScript】ちょっとこなれた書き方(演算子編)
と言っても、そんなに大したことでは無いのです。
でもしばらくJavaScriptから離れていると忘れるのでメモ的に。
1 条件演算子
JavaScriptを習いたての人はこう書く。if文はこれが基本。
var age = 18; //ageに18を代入 var text; if(age >= 18){ //もしageが18歳以上なら text = "大人"; //textに"大人"をセット }else{ text = "子供"; //textに"子供"をセット }
他の言語でも大概通用するif文の書き方です。
これをこなれた風に書くと・・・
var age = 18; var text = (age >= 18) ? "大人" : "子供";
こんな感じで行数も少なくなりますね。
2 論理演算子
これは確実に忘れる(=混乱する)ので書いておきます。
例の「論理AND(&&)」とか「論理OR(||)」とか、疲れてると確実に間違う。
まずはこういう書き方が基本ですよね。
//aの値が3~10の範囲内にあればbにtrue、無ければfalse var a = 5; var b; if(a >= 3 && a <= 10){ b = true; }else{ b = false; }
こなれた風だと
var b = (a >= 3) && (a <= 10);
それに派生して、突然ですが問題です。
var a = true && false; var b = true || false;
aとbに入ってる値はそれぞれ何でしょう?って咄嗟に訊かれても・・・(´Д`)ね
(答)aはfalse、bはtrue
じゃこれは?
var a = "cat" && "mouse"; var b = "cat" || "mouse";
ネコとネズミの共通点ってなに?っていう話じゃなくて・・・
(答) aは"mouse"、 bは"cat"
・・・って、なんでそうなるの?
"cat"とか"mouse"は、trueと同等と考えると分かりやすいです。
そして式は、左側の値から評価して合致したらそれで終わりになるのです。
つまり必ず
false && なんでも → falseになるわけです。
true || なんでも → true
【確認】いろいろと値を変えてみてね(動くかな
var a = && → false
var b = || → false
とても久しぶり(1年ぶり?)にブログを更新したけど、
自分自身全く進歩してないのが痛い。
もっと気軽に書けるといいんだけどにゃぁ。
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/27
- メディア: 大型本
- 購入: 29人 クリック: 673回
- この商品を含むブログ (48件) を見る