diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-02-17 01:00:37 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2022-02-26 16:04:26 +0900 |
commit | c73194bceef69b1b772a07ce76c2c461a75c19c4 (patch) | |
tree | 0d8bc78797259c2d5474e5f146f5de72fad7efb1 | |
parent | 5be71b9e02ef2c86fd62b7d04e499dd9a89b1db6 (diff) | |
download | translated-content-c73194bceef69b1b772a07ce76c2c461a75c19c4.tar.gz translated-content-c73194bceef69b1b772a07ce76c2c461a75c19c4.tar.bz2 translated-content-c73194bceef69b1b772a07ce76c2c461a75c19c4.zip |
2022/01/18 時点の英語版に同期
-rw-r--r-- | files/ja/web/javascript/reference/operators/conditional_operator/index.md | 124 |
1 files changed, 57 insertions, 67 deletions
diff --git a/files/ja/web/javascript/reference/operators/conditional_operator/index.md b/files/ja/web/javascript/reference/operators/conditional_operator/index.md index c21aec44fc..976353ec9e 100644 --- a/files/ja/web/javascript/reference/operators/conditional_operator/index.md +++ b/files/ja/web/javascript/reference/operators/conditional_operator/index.md @@ -2,71 +2,74 @@ title: 条件 (三項) 演算子 slug: Web/JavaScript/Reference/Operators/Conditional_Operator tags: - - Conditional + - 条件 + - Decision - JS - JavaScript - - Operator - - Reference - - ternary - - 三項 - - 条件 + - 言語機能 - 演算子 + - リファレンス + - else + - if + - 三項 +browser-compat: javascript.operators.conditional translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator --- -<div>{{jsSidebar("Operators")}}</div> - -<p><span class="seoSummary"><strong>条件 (三項) 演算子</strong>は JavaScript では唯一の、3 つのオペランドをとる演算子です。条件に続いて疑問符 (<code>?</code>)、そして条件が{{Glossary("truthy", "真値")}}であった場合に実行する式、コロン (<code>:</code>) が続き、条件が{{Glossary("falsy")}}であった場合に実行する式が最後に来ます。</span>この演算子は、 <a href="/ja/docs/Web/JavaScript/Reference/Statements/if...else"><code>if</code></a> 文のショートカットとしてよく用いられます。</p> +{{jsSidebar("Operators")}} -<div>{{EmbedInteractiveExample("pages/js/expressions-conditionaloperators.html")}}</div> +**条件 (三項) 演算子**は JavaScript では唯一の、3 つのオペランドをとる演算子です。条件に続いて疑問符 (`?`)、そして条件が{{Glossary("truthy", "真値")}}であった場合に実行する式、コロン (`:`) が続き、条件が{{Glossary("falsy", "偽値")}}であった場合に実行する式が最後に来ます。この演算子は、 [`if`](/ja/docs/Web/JavaScript/Reference/Statements/if...else) 文の代替としてよく用いられます。 -<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力していただける場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div> +{{EmbedInteractiveExample("pages/js/expressions-conditionaloperators.html")}} -<h2 id="Syntax" name="Syntax">構文</h2> +## 構文 -<pre class="syntaxbox notranslate"><var>condition</var> ? <var>exprIfTrue</var> : <var>exprIfFalse</var></pre> +```js +condition ? exprIfTrue : exprIfFalse +``` -<h3 id="Parameters" name="Parameters">引数</h3> +### 引数 -<dl> - <dt><code><var>condition</var></code></dt> - <dd>値が条件として使用される式です。</dd> - <dt><code><var>exprIfTrue</var></code></dt> - <dd><code><var>condition</var></code> が {{Glossary("truthy")}} の値 (<code>true</code> と等しいか、 <code>true</code> に変換できる値) と評価された場合に評価される式です。</dd> - <dt><code><var>exprIfFalse</var></code></dt> - <dd><code><var>condition</var></code> が {{Glossary("falsy")}} の値 (<code>false</code> と等しいか、 <code>false</code> に変換できる値) と評価された場合に評価される式です。</dd> -</dl> +- `condition` + - : 値が条件として使用される式です。 +- `exprIfTrue` + - : `condition` が{{Glossary("truthy", "真値")}} (`true` と等しいか、 `true` に変換できる値) と評価された場合に評価される式です。 +- `exprIfFalse` + - : `condition` が{{Glossary("falsy", "偽値")}} (`false` と等しいか、 `false` に変換できる値) と評価された場合に評価される式です。 -<h2 id="Description" name="Description">解説</h2> +## 解説 -<p><code>false</code> についていえば、 falsy になる可能性がある式は <code>null</code>, <code>NaN</code>, <code>0</code>, 空文字列 (<code>""</code>), <code>undefined</code> です。 <code><var>condition</var></code> がこのうちの何れかであれば、条件演算子の結果は <code>exprIfFalse</code> の式を実行した結果になります。</p> +`false` についていえば、偽値になる可能性がある式は `null`, `NaN`, `0`, 空文字列 (`""`), `undefined` です。 `condition` がこのうちの何れかであれば、条件演算子の結果は `exprIfFalse` の式を実行した結果になります。 -<h2 id="Examples" name="Examples">例</h2> +## 例 -<h3 id="A_simple_example" name="A_simple_example">単純な例</h3> +### 単純な例 -<pre class="brush: js notranslate">var age = 26; -var beverage = (age >= 21) ? "ビール" : "ジュース"; +```js +var age = 26; +var beverage = (age >= 21) ? "ビール" : "ジュース"; console.log(beverage); // "ビール" -</pre> +``` -<h3 id="Handling_null_values" name="Handling_null_values">null 値の扱い</h3> +### null 値の扱い -<p>よくある使い方の一つに、 <code>null</code> になる可能性がある値を扱うというものがあります。</p> +よくある使い方の一つに、 `null` になる可能性がある値を扱うというものがあります。 -<pre class="brush: js notranslate">let greeting = person => { +```js +let greeting = person => { let name = person ? person.name : `お客さん` return `やあ、${name}` } -console.log(greeting({name: `アリス`})); // "やあ、アリス" +console.log(greeting({name: `アリス`})); // "やあ、アリス" console.log(greeting(null)); // "やあ、お客さん" -</pre> +``` -<h3 id="Conditional_chains" name="Conditional_chains">条件の連鎖</h3> +### 条件の連鎖 -<p>三項演算子は右結合で、すなわち以下のような方法で <code>if … else if … else if … else</code> の連鎖と同様に「連鎖」させることができます。</p> +三項演算子は右結合で、すなわち以下のような方法で `if … else if … else if … else` の連鎖と同様に「連鎖」させることができます。 -<pre class="brush: js notranslate">function example(…) { +```js +function example(…) { return condition1 ? value1 : condition2 ? value2 : condition3 ? value3 @@ -81,33 +84,20 @@ function example(…) { else if (condition3) { return value3; } else { return value4; } } -</pre> - -<h2 id="Specifications" name="Specifications">仕様書</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">仕様書</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-conditional-operator', 'Conditional Operator')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> - -<p>{{Compat("javascript.operators.conditional")}}</p> - -<h2 id="See_also" name="See_also">関連情報</h2> - -<ul> - <li><a href="/ja/docs/Web/JavaScript/Reference/Statements/if...else">if 文</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator">Null 合体演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Optional_chaining">オプション連鎖</a></li> - <li><a href="/ja/docs/Learn/JavaScript/Building_blocks/conditionals">コードでの意思決定 — 条件文</a></li> - <li><a href="/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators">式と演算子</a></li> -</ul> +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [if 文](/ja/docs/Web/JavaScript/Reference/Statements/if...else) +- [Null 合体演算子](/ja/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator) +- [オプション連鎖](/ja/docs/Web/JavaScript/Reference/Operators/Optional_chaining) +- [コードでの意思決定 — 条件文](/ja/docs/Learn/JavaScript/Building_blocks/conditionals) +- [式と演算子](/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators) |