性格悪い人が優勝

JavascriptのWhile文やFor文のループについて
これって実質的に同じものなのに、なんで一つに統一しないのでしょうか?

A 回答 (4件)

while で実質的に同じものを書くことはできるけど、


実用的には行数が増えてめんどくさいし、プログラムが見にくくなる。
つまり統一してもデメリットばかりでメリットが無い。
    • good
    • 0

全く違うものだからですね・・


forには大きく3つ機能があります。
・for(var i=0;i<hoge.length;i++)
・for(var i in hoge)
・for(var i of hoge)

whileは無計画につかうと無限ループします
逆にfor(var i=0;true;i++)なんて書き方は普通はしません
    • good
    • 0

こんにちは



ループ的な構文には、他にも do...while とか forEach や map などなどもありますね。
頑張ってforループだけで記述すればできないことはありませんが、処理内容が、複雑な条件で抜け出したい時とか、必ず1回は実行するなどの際に、記述し易くなるだけでなく視認性も良くなると考えられます。

>なんで一つに統一しないのでしょうか?
ひとつしか使いたくない人は一つだけ利用すればよいですし、そうでない人は便利に使いこなせば良いということで、統一することにメリットがないからではないでしょうか?
むしろ、便利になるように拡張されていると考えればよいのではないでしょうか。
(大抵の高級言語なら、同様の構文をサポートしていると思われます。)

反対に、ループを有しない言語でもループを記述できますが、ループ処理を行うたびに面倒な記述をしなければなりませんよね。
別の面から考えてみると、例えば、javascriptは多次元配列を直接にはサポートしていませんね。
    • good
    • 0

>これって実質的に同じものなのに


違いますね

分かりやすく言うなら
whileはif文の役割も持っています
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!