質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

145閲覧

【javascript】if文で小さい数値がtrueになる原因を教えて欲しいです。

LanHma

総合スコア192

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

3クリップ

投稿2019/04/26 02:15

いつもお世話になっております。不明な点があったのでご質問させてください。jsonからデータを取り込んで比較して処理を加えたいと思ったのですが、if文を使用したときに小さい数値がtrueになりました。

javascript

1var score40 = '40'; 2 3if('5' > score40)//true 4 5if('1' > score40)//false

なぜこのような結果になるのかご存知の方がいらっしゃいましたらご教授いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2019/04/26 05:25

> if文で小さい数値がtrueになる ( ゚д゚) ( ゚д゚ )彡
guest

回答3

0

ベストアンサー

文字列の比較は先頭から1文字ずつ評価されます
'5'と'40'だとまず'5'と'4'を評価するので'5'>'40'となります

投稿2019/04/26 02:18

yambejp

総合スコア114814

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LanHma

2019/04/26 02:20

いつもありがとうございます!完全に理解しました!
guest

0

JavaScriptの場合、文字列同士の比較は辞書的に行われます。

'5' > '40'の比較の場合、まずは1文字目だけ比較するので、5 > 4となり、trueとなります。

投稿2019/04/26 02:19

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

LanHma

2019/04/26 02:21

いつも回答ありがとうございます!理解いたしました!
guest

0

次の操作例を見てください。

イメージ説明

文字列の比較は, 辞書での順序とおなじようになるので、 "5 は "40" より後に出てきます。 ("b" が "az" より後ろに出てくるのと同じように)

"5" を数字の 5 として扱うには 文字列を int に変換してやる必要があります。
上の操作例では oarseInt() をつかって整数に変換しています。

投稿2019/04/26 16:59

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問