Q&A
解決済
5回答
1312閲覧
総合スコア501
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
0グッド
0クリップ
投稿2016/03/15 11:19
0
javascript1 2var to = false ? A : B;
javascript
1 2var to = false ? A : B;
上記の三項演算子の条件文は、falseです。条件文に一致した場合、Aの方がtoに代入されるのでしょうか。 それとも条件文がfalseな時点でBになるのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2016/03/15 13:24
回答5件
質問するより、試してみればすぐにわかりますね。 ↓は chrome の開発者ツールのコンソールで試した様子です。
投稿2016/03/15 11:44
総合スコア22328
javascript1// (条件式) ? (条件式がtrueならこちらを選択):(条件式がfalseならこちらを選択) 2var to = false ? A : B; // to は false になる 3var too = true ? A : B; // too は true になる
1// (条件式) ? (条件式がtrueならこちらを選択):(条件式がfalseならこちらを選択) 2var to = false ? A : B; // to は false になる 3var too = true ? A : B; // too は true になる
今回の場合、(条件式)がfalseなので、Bになりますし、Aが選択されることはありません。
投稿2016/03/15 17:27
総合スコア907
MDNのページ
構文は以下のとおりです : condition ? val1 : val2 条件 condition が真の場合、演算子は val1 の値を選択します。そうでない場合、 val2 の値を選択します。標準的な演算子を使用できる場所ならどこでも条件演算子を使用できます。
というわけで、「?」の左側の値がtrueなら一つ目、falseなら二つ目を返します。 「?」の左側が「条件文」の場合は、その「条件文の演算結果の値」が演算に利用されます。
投稿2016/03/15 15:01
総合スコア2068
ベストアンサー
JavaScript1var to = false ? A : B;
JavaScript
1var to = false ? A : B;
左辺の評価結果がfalseなのでBになります。
ちょっと条件を足して見てみましょう。
JavaScript1var from = false 2var to = from == false ? A : B; 3 ↓ 4var to = (from == false) ? A : B; // fromはfalseなので、評価結果はtrue 5 ↓ 6var to = true ? A : B; // つまりこうなる 7console.log(to); 8// A
1var from = false 2var to = from == false ? A : B; 3 ↓ 4var to = (from == false) ? A : B; // fromはfalseなので、評価結果はtrue 5 ↓ 6var to = true ? A : B; // つまりこうなる 7console.log(to); 8// A
投稿2016/03/15 11:33
総合スコア21553
Bですね http://ideone.com/nJVgXh
投稿2016/03/15 11:24
総合スコア2158
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
三項演算子の条件について