• ベストアンサー

これはJavaScriptでどう解釈されている?

下記のように書いたらエラーとならず c と表示されました どのような原理でcと表示されるのでしょうか? const d=("a","b","c"); console.log(d);

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6643/9411)
回答No.1

「"a","b","c"」 これは「カンマ演算子」で接続された式と解釈されます。 カンマ演算子で接続されたものは、その区切りごとに値を評価し、式全体の値は最後のものとなります。 そうなると、 >d=("a","b","c"); こう書いたことで、dには最後の値 "c" が代入されます。 それが console.log により出力されます。

関連するQ&A

  • javascript 初心者

    https://paiza.jp/works/mondai/data_structure/data_structure__set_boss この問題で以下のコードで試したのですが、大きな数字だと正しい結果が出ません。なぜなのでしょうか。有識者の方教えてください。 (汚いコードでごめんなさい) let n=lines[0]; let a=lines[1].split(" "); let b=lines[2].split(" "); let c=a.concat(b); const arrayB = Array.from(new Set(c)); const sort = arrayB.sort((a,b) => (a < b ? -1 : 1)) const answer=sort.join(" "); console.log(answer);

  • 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("");

  • 値はどこにあるのでしょうか?

    h1に下記のように値を設定しました const h1 =[ ]; h1.push({x: 0.23, y: 326}); h1.push({x: 0.21, y: 326}); h1.push({x: 0.29, y: 334}); h1.z = "C"; そして下記のように表示しました h1.forEach(d => { console.log(d) }); しかし、表示されるのは下記のみでCは表示されません。Cはどこにいったのでしょうか? {x: 0.23, y: 326} {x: 0.21, y: 326} {x: 0.29, y: 334}

  • JavaScript(文字列aとbを連結)

    // [文字列 - 連結1] // ---------------------------------------- // 文字列aとbを連結して出力してください let a = "paiza"; let b = "learning"; console.log(); console.log(a+b);やconsole.log(`a+b`);は違います。文字列aとbを連結する方法は何でしょうか?

  • JavaScriptのエラーの原因

    あるコードでエラーがでて原因がさっぱり解りません。下記コードは、そのエラーが消えないように最小限のコードにそぎ落としたものです。四角が大きくなったり小さくなったりするだけのアニメーションです。buttonを押すとエラーになります。consoleに赤色で0と表示されるだけのエラーです。かれこれ1ヶ月くらい解決できません。これはいったい何のエラーなのでしょうか? <html> <body> <button>button</button> <div id='example'></div> <script src="https://d3js.org/d3.v5.min.js"></script> <script> const svg =d3.select("#example") .append("svg") .attr("width",300) .attr("height",150) let path = svg.selectAll("path") .data([0]) .join("path") .attr("d","M0,0 L300,0 300,150 0,150") async function plot(){ let b=0; try{ while(true){ await path .data([0]) .transition() .delay(1000) .duration(1500) .attr("d",b?"M0,0 L300,0 300,150 0,150":"M0,0 L30,0 30,15 0,15") .end(); b=!b } }catch(e){// このcatchがないと Uncaught (in promise) と表示される console.error(e); } } d3.select("button") .on("click",() => { path.interrupt() ; plot(); }) plot(); </script> </body> </html>

  • javascript

    画像がA,B,C,D 説明文が1,2,3,4とあったとき、 画像A,1 と B,2 をまず最初に表示して一定時間後 A,1 → C,3 B,2 → D,4 と 表示させてループさせることは 可能でしょうか? ランダムなら何とかできたんですけど どうしてもうまくいきません。 お手数だとは思いますが、アドバイスお願いします。

  • Javascript について質問です

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

  • Javascript について質問です

    for(var i=0;i<3;i++){ console.log("it"+ i); i++; }; 上記の実行結果が下記のようになり、i=1が表示されません。 すいませんが、教えてください。

  • javascript についてご教示くださいませ。

    javascript についてご教示くださいませ。 初心者でございます。 あるサイトでjavascript の見本がありました。 表示されているソースではボタンをおした時に 1つの文字がランダムに表示されます。 これを3✕5(下記のように表示させたい) A B B C D A A A A C B A D D C 乱数で表示させるにはどのように変更したら良いでしょうか? 自分で色々勉強しろというご意見もあると思いますが何卒宜しくお願いいたします。 <form><input type="button" value="クリック" onClick="omikuji()"></form> <script type="text/javascript"> function omikuji() { rand = Math.floor(Math.random()*5); if (rand == 0) msg = "A"; if (rand == 1) msg = "B"; if (rand == 2) msg = "C"; if (rand == 3) msg = "D"; if (rand == 4) msg = "E"; alert(msg); } </script>

  • javascriptの基礎的な質問です。

    ご覧いただきありがとうございます。 javascript コンソールで var D; D.d="T"; console.log(D.d) とうつと、 TypeError: Cannot set property 'd' of undefined と出てしまいます。 これとは別に、 var D={d:"T"}; console.log(D.d) はうまくいくのですが、 前者はどこが定義として不十分なのでしょうか。 よろしくお願いします。