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

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

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

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

Q&A

解決済

5回答

1234閲覧

三項演算子の条件について

aaaaaaaa

総合スコア501

JavaScript

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

0グッド

0クリップ

投稿2016/03/15 11:19

javascript

1 2var to = false ? A : B;

上記の三項演算子の条件文は、falseです。条件文に一致した場合、Aの方がtoに代入されるのでしょうか。
それとも条件文がfalseな時点でBになるのでしょうか。

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

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

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

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

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

otn

2016/03/15 13:24

「条件文に一致した場合」というのはどういう意味でしょうか?何が何に一致?
guest

回答5

0

質問するより、試してみればすぐにわかりますね。
↓は chrome の開発者ツールのコンソールで試した様子です。

イメージ説明

投稿2016/03/15 11:44

katoy

総合スコア22324

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

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

0

javascript

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

Odacchi

総合スコア907

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

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

0

MDNのページ

構文は以下のとおりです :

condition ? val1 : val2
条件 condition が真の場合、演算子は val1 の値を選択します。そうでない場合、 val2 の値を選択します。標準的な演算子を使用できる場所ならどこでも条件演算子を使用できます。

というわけで、「?」の左側の値がtrueなら一つ目、falseなら二つ目を返します。
「?」の左側が「条件文」の場合は、その「条件文の演算結果の値」が演算に利用されます。

投稿2016/03/15 15:01

hirohiro

総合スコア2068

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

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

0

ベストアンサー

JavaScript

1var to = false ? A : B;

左辺の評価結果がfalseなのでBになります。


ちょっと条件を足して見てみましょう。

JavaScript

1var from = false 2var to = from == false ? A : B; 34var to = (from == false) ? A : B; // fromはfalseなので、評価結果はtrue 56var to = true ? A : B; // つまりこうなる 7console.log(to); 8// A

投稿2016/03/15 11:33

miyabi-sun

総合スコア21158

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

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

0

投稿2016/03/15 11:24

編集2016/03/15 11:25
fagai

総合スコア2158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問