• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jsは、フラグは2つが限界???)

jsフラグは2つが限界? フラグの立て方と制限について

このQ&Aのポイント
  • JavaScriptにおいて、フラグを立てることができるのは2つまでです。フラグの立て方を紹介したサイトでは、trueまたはfalseの場合分けしかなく、3つ目のフラグを立てる方法は存在しません。
  • 例えば、1から100までの数の中から3の倍数をtrueとして返すプログラムを作成することは可能です。しかし、それ以降の条件、例えばfalseの中から5の倍数にtrueを返すプログラムを作成することはできません。
  • JavaScriptでは、フラグを制御するために変数を使用します。フラグを立てるかどうかの条件は、if文や論理演算子を組み合わせて記述します。しかし、フラグは2つまでしか立てることができないため、3つ以上の条件に対応するプログラムを作成することはできません。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.6

基本を学ばずにググって済まそうとすると、いろいろわからないことが出てくるのでしょうね。 「フラグ」と呼ぶ変数は普通は真と偽だけですが、別に、普通の変数なので値はいろいろ代入できるので、0,1,2,3,4 でもいいし、"A", "B", "C" でもいいし、どんな値でも代入できます。 var fooFlag = "A"; var gooFlag = 99; 真偽値しか入れないフラグの場合は、if文では if(xxxFlag) などと変数をそのまま書けますが、真偽値以外の値が入るフラグの場合は if(fooFlag=="A")のように値と比較する必要があります。

semboku_love
質問者

お礼

詳しいご説明ありがとうございます。

その他の回答 (6)

回答No.7

「or」です。

回答No.5

あ、ごめん^^別の値を返したかったのね^^ なら、3の倍数なら「3」を返して、 5の倍数なら「5」を返して、 どちらでもないなら、「0」を返すってことなら、 ありかも・・・ フラグって言葉を使うから、0/1(二値)って誤解が生まれるだけかも! 返り値は、Bool 以外に Int でもいいんですから(数値って事ね) そんだけで、全部解決する気がしてきた・・・

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.4

質問者さんが書かれているのは、3の倍数もしくは5の倍数なら TRUE で、それ以外が FALSE という事ですから、フラグは2値で済みますよね。 フラグというの基本的に旗が立っているか寝ているかの2値でしかありません。 複数の状態を表したい場合はステータスと言う場合があります。 ステータスが1なら3の倍数、2なら5の倍数、0ならそれ以外と言った具合ですね。

回答No.3

この場合フラグもう関係ないのでは? if ((n%3)==0) return(true); if ((n%5)==0) return(true); return(false); 3で割り切れる=元々が3の倍数だったらtrue 5で割り切れる=元々が5の倍数だったらtrue どちらでもないなら、false を返してます。 特に、フラグはいりません。 思うにフラグへのこだわりを一度捨ててみると 道が開ける気がします。 上のを1行で書くなら return ( (n%3)==0? true:(n%5)==0? true:false ); return直後の"("は省略できます。

  • agehage
  • ベストアンサー率22% (2753/12076)
回答No.2

Switch文ではダメ?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

プログラミングで「フラグ」といった場合は、on/off, true/false といった2つの値のどちらかだけが入る変数や状態の事をいいます。 javascriptの限界というわけではなく「フラグ」が元々そういうものなんです。

関連するQ&A