trueとfalseの条件式でエラーが発生する理由を教えてください

このQ&Aのポイント
  • 「true」と「false」の条件式を用いて、指定の条件がtrueの場合とfalseの場合で異なるメッセージを出力したい。
  • コードを実行するとエラーが発生し、原因が分からない。
  • 条件式の記述に間違いがある可能性があり、正しい記述方法を教えてほしい。
回答を見る
  • ベストアンサー

「true」と「false」

●質問の主旨 「( ) 」の 条件式 の 値 が「true」 なら「正解だ / right」とプリントしたい。 「false」 の時は「間違い / wrong 」とプリントしたい。 下記のようなコードを入力しましたが、 コンソールするとエラーが返されます。 どこが間違いなのか、コードを何度読み直しても 分かりません。どなたかご存知のかたご教示願います。 ●javascriptのコード if ("Leng".length === 4){ console.log("正解だ / right"); // 1行目が正しければ,ここのコードを実行 }else{ // 正しくなければ console.log("間違いだ / wrong"); }

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

  • ベストアンサー
回答No.4

>No.1補足 それは「課題の通り」になっていないからでしょう。 たとえば。 --------- 課題「次の挨拶を入力してください『こんにちは、dradra33さん。』」 解答「こんにちはdradra33さん。」 これは間違いです。 挨拶としては正しいですが、課題の文章には読点が入っています。 ですが解答には読点が入っていません。だから間違いです。 --------- こういうミス、つまりJavaScriptの文法としては正しくても課題として間違っている部分を直して、 課題に示された通りに解答を入力すれば、エラーメッセージがなくなるはずです。 もしそれでもエラーメッセージが表示されるのであれば、出題者(codeacademy)に問い合わせてください。

dradra33
質問者

お礼

talooさま ご回答ありがとうございます。 日本語自体も課題に示された通り、 コピペで使っています。 周りの状況(OKWaveのご回答者)を 見てもコードは、正しいようなので、 管理者に聞いてみます。 たびたびのご回答ありがとうございました!

その他の回答 (5)

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.6

JavaScriptじゃなくて国語力の問題

dradra33
質問者

お礼

b0a0a さま 日本語自体も課題に示された通り、 コピペで使っています。 周りの状況(OKWaveのご回答者)を 見てもコードは、正しいようなので、 管理者に聞いてみます。 たびたびのご回答ありがとうございました!

  • notnot
  • ベストアンサー率47% (4844/10254)
回答No.5

他の方が書いているとおり、JavaScript文法的には問題なし。 サイトを見てみましたが、問題の読み間違いですね。 >「正解だ / right」とプリントしましょう。 は、「"正解だ" または "right" とプリントしましょう」 と解釈するのが普通です。

dradra33
質問者

お礼

notnotさま 日本語自体も課題に示された通り、 コピペで使っています。 周りの状況(OKWaveのご回答者)を 見てもコードは、正しいようなので、 管理者に聞いてみます。 たびたびのご回答ありがとうございました!

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

このコンソールの出力先はサイト内部なの? もっとシンプルなコード console.log("正解だ / right"); だけ試してみてそれがチャント出力されるか確認するとか あと単に日本語に対応していないだけだったりかも? 出力するのを英語だけにしてみるとうまくいくのかも? それでもだめならサイト管理者に聞くしかないかも

dradra33
質問者

お礼

>このコンソールの出力先はサイト内部なの? 見た感じコンソールの内部のようです。 >console.log("正解だ / right"); だけ書いてみても サイト内部ではちゃんと出力されます。 周りの状況(OKWaveのご回答者)を 見てもコードは、正しいようなので、 管理者に聞いてみます。 たびたびのご回答ありがとうございました!

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

使っているブラウザーが console.log をサポートしていないんだと思うけど

dradra33
質問者

補足

askaaskaさま ご回答ありがとうございます。 IE8とGoogleChromeで表示させていますが、 どちらでも、エラーが返されます。 firefoxなどにした方が良いでしょうか?

回答No.1

エラーとは、どんなエラーですか?

dradra33
質問者

補足

talooさま ご回答ありがとうございます。 課題は「codeacademy」というサイトの練習問題です。 ここでエラーと言うのは正解ならば"That's right"と表示されるところ、 "Oops, try again." と表示されることです。 codeacademy http://www.codecademy.com/ja/#!/exercises/0 codeacademy コンピュータになって考えてみよう ! 5.条件文をさらに練習 http://www.codecademy.com/ja/courses/javascript-beginner-fc0f4-jp/2#!/exercises/4 ※大変恐縮ですが、上記サイトを閲覧するためには、 twitterもしくはfacebookのアカウントが必要です。

関連するQ&A

  • console.logについて

    console.logについて ●質問の主旨 下記のjavascriptコードで、trueを4回、faluse2回を 出力させたいと考えています。 ところが、 ReferenceError: Invalid left-hand side in assignment というエラーが出て、出力できません。 左辺がおかしいというメッセージは読み取れますが、 それ以上どこが悪いのかよく分かりません。 こちらの意図通り実行させるためには、 どのようにコードを訂正すればよいでしょうか? ご存知のかたよろしくお願いします。 ●コード console.log(15) > 4; console.log("Xiao Hui".length) < 122; console.log("Goody Donaldson".length) > 8; console.log(8*2) = 16; console.log("echizenya_yota".length = 10); console.log("echizenya_yota".length < 10);

  • True or False 謎

    "He is still working at the company as busily as before." True or False: He is not busier than before. この問について英語圏のALTをしている友達からメールをもらいました。答えは間違いなくTrueですけど、この試験で正解がFalseになっています。ALTと一緒に教えている英語教師もFalseと思っていらっしゃるらしいです。 私も英語圏の人ですけど、どう考えても答えがFalseになる理由は思いつかないのです。 だれかわかりますか???

  • Javascript について質問です

    var tired=true; var bored=false; var nap = function() { if(tired || bored){ console.log("OK"); } else{ console.log("else"); } }; 上記のコードを書いた際、下記の実行結果となり、OKが表示されません。 どなたか原因が分かる方がおりましたら、教えてください。 else

  • C#を教えてください。

    下記のコードで33個のエラーが出てきました。 Visual Studio 2017 C#でです。 ボクは忠実にコードを写しました。 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー CS0103 名前 'answer' は、現在のコンテキストに存在しません。 jump14 C:\Users\kouzo\source\repos\jump14\jump14\Program.cs 20 アクティブ 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー CS1002 ; が必要です。 jump14 C:\Users\kouzo\source\repos\jump14\jump14\Program.cs 12 アクティブ など納得の行かないエラーメッセージばかりです。 何故でしょうか? ご回答のほど宜しくお願い申し上げます。 namespace jump14 { class Program { static void Main(string[] args) string right = "正解", wrong = "不正解"; bool value; value = true; string answer = value ? right : wrong; Console.WriteLine(answer); value = false; answer = value ? right : wrong; Console.WriteLine(answer); } }

  • <input type="button">でボタンを押したときの処理

    ボタンをクリックしたらalertによって下記のような文字列、trueかfalseを返すようにしたいのです。 fulction hantei(){ if(str.length > 6){ document.write("true") } else{ document.write("false") } } あと、functionにはdocument.writeが使えないようなのですが、そうならばどのようにして表示させるのでしょう? よろしくお願いします。

  • php問題について

    php の問題でどうしてこの答えになるかわかりません。 教えて下さい if(【 A 】) { print("true"); } else { print("false"); } 【1】"php" > "perl" 【2】0 != "0" 【3】5 - 6 + 1 【4】"false" 【5】0 + "false" 【6】"543a" < 56 【7】abs(-6) > 10 / 2 あなたの回答: 【2】【3】 正答: 【1】【4】【7】 どうして1がせいかいなのかわかりません。 教えて下さい

    • ベストアンサー
    • PHP
  • Ajaxがおかしいんです

    Javascript初級者です。 Ajaxを使ってデータの重複チェックを行おうとしました。 ところがAjaxがヘンな動きをするんです。 以下のコードなんですが、上の登録処理の中で、function doubleCheck を呼んで います。 問題は2つあって、ひとつは実際に重複していてもしていなくても「true」を 返してくることです。 console.log("res=========" + res) には「yes」とか「no」とか重複有り無しで 異なりますが、ちゃんとそれぞれセットするにも関わらず、 if(!doubleCheck() では必ず「false」が戻ってきてしまいます。 もう一つおかしい点は、重複検索(これはPHPでやってます)の最中にもかかわらず、 「true」が返ってきて "重複があったので登録できません。" お、出てしまうことです。 それで調査するために console.logその2を入れてみました(※※※のところ)。 ところがこの console 何も吐き出しません。 ということは doubleCheck() の最後の if文にたどり着いていない、または 途中でエラーになっているのかもしれません。 私の書いた Ajax のコードがおかしいんでしょうか。 どなたか御指導下さい。 よろしくお願いします。 // 追加登録処理 function doActionAdd(){ if(dataCheck()){ // customerId が 空白か否かのチェック if($('#customerId').val() == ""){ if(window.confirm("追加登録していいですか?")){ if(!doubleCheck()){ window.alert("重複はありませんでした"); }else{ window.alert("重複があったので登録できません。"); }  (以下略) function doubleCheck(){ var yomi = $('#customerYomi').val(); var res = ''; // 重複チェック $.ajax({ type: "POST", url: "../customer/CustomerDoubleCheck.php", data: {"customerYomi":yomi}, dataType: 'text', // ajax通信が成功したときの処理 success: function(request){ console.log("request=========" + request); var json = JSON.parse(request); console.log(json[0].result ); res = json[0].result; console.log("res=========" + res); }, error: function(XMLHttpRequest, textStatus, errorThrown){ $('div#jobStatus').text("重複チェック検索ができませんでした。"); return false; } }); console.log("resその2=========" + res); //※※※ if(res == "yes"){ // 重複していたので「false」を返す。 return false; }else{ // 重複していなかったので「true」を返す。 return true; } }

  • pythonコードについて

    以下のpythonコードに関して質問があります。なぜ一度Falseになったatsplitがforループ内で再びTrueになるのでしょうか?以下にコードと結果を掲載しております。 def split_string(source,splitlist): output = [] atsplit = True for char in source:    if char in splitlist:      atsplit = True      print atsplit    else:       if atsplit:          output.append(char)          atsplit = False          print atsplit       else:          output[-1] = char return output out = split_string("This is a test-of the,string separation-code!"," ,!-") print out #>>> ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code'] False True False True False True False True False True False True False True False True False True ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code']tsplit = True

  • PHPでの変数の扱い方

    PHPで(1)、(2)共にtrueになります。 (1)、(2)についてどうしてこうなるのか簡単に解説してもらえませんか。 また(1)が正しく動作するようにするにはどう修正すればいいですか。 (1) $value=0; if($value == '-'){ print("true"); }else{ print("false"); } (2) $value='-'; if($value == 0){ print("true"); }else{ print("false"); }

    • ベストアンサー
    • PHP
  • JavaScriptの問題に関して教えてください。

    下記問題の解き方および答えが考えても全然分からず、お教えいただきたいです。お願いいたします。 以下のプログラムを読んで、どういったプログラムなのかを説明してください。 let change = 0; let change_sum = 0; const data = [ 31, 41, 59, 26, 53, 58, 97, 93, 23, 84 ]; console.log("並べ替える前"); for (let i = 0; i < data.length; i++) { console.log(data[i] + " "); }// for console.log("\n"); console.log("***********************************"); console.log(""); for (let i = 0; i < data.length - 1; i++) { for (let j = i + 1; j < data.length; j++) { if (data[i] > data[j]) { let a = data[i]; data[i] = data[j]; data[j] = a; change++; }// if }// for(内側1) console.log((i + 1) + "回目"); console.log(`${change}回`); for (let k = 0; k < data.length; k++) { process.stdout.write(data[k] + " "); }// for(内側2) console.log("\n"); change_sum += change; change = 0; }// for(外側) //最終結果の表示 console.log("***********************************"); console.log(""); console.log(`${change_sum}回`); console.log("最終結果"); for (let i = 0; i < data.length; i++) { process.stdout.write(data[i] + " "); }// for console.log("");