Skip to content

Commit

Permalink
2023/09/07 時点の英語版に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Oct 15, 2024
1 parent c855b9e commit 0fa0a5d
Showing 1 changed file with 29 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: 条件 (三項) 演算子
slug: Web/JavaScript/Reference/Operators/Conditional_operator
l10n:
sourceCommit: c6f0f106b9083984dbf597678def6561729bb459
---

{{jsSidebar("Operators")}}
Expand All @@ -11,8 +13,8 @@ slug: Web/JavaScript/Reference/Operators/Conditional_operator

## 構文

```js
condition ? exprIfTrue : exprIfFalse;
```js-nolint
condition ? exprIfTrue : exprIfFalse
```

### 引数
Expand All @@ -33,8 +35,8 @@ condition ? exprIfTrue : exprIfFalse;
### 単純な例

```js
var age = 26;
var beverage = age >= 21 ? "ビール" : "ジュース";
const age = 26;
const beverage = age >= 21 ? "ビール" : "ジュース";
console.log(beverage); // "ビール"
```

Expand All @@ -43,34 +45,41 @@ console.log(beverage); // "ビール"
よくある使い方の一つに、 `null` になる可能性がある値を扱うというものがあります。

```js
let greeting = (person) => {
let name = person ? person.name : `お客さん`;
const greeting = (person) => {
const name = person ? person.name : "お客さん";
return `やあ、${name}`;
};

console.log(greeting({ name: `アリス` })); // "やあ、アリス"
console.log(greeting({ name: "アリス" })); // "やあ、アリス"
console.log(greeting(null)); // "やあ、お客さん"
```

### 条件の連鎖

三項演算子は右結合で、すなわち以下のような方法で `if … else if … else if … else` の連鎖と同様に「連鎖」させることができます。
三項演算子は右結合なので、以下のような方法で `if … else if … else if … else` の連鎖と同様に「連鎖」させることができます。

```js
function example() {
```js-nolint
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
```

// 以下のものと同等です
これは次の [`if...else`](/ja/docs/Web/JavaScript/Reference/Statements/if...else) の連鎖と同じです

function example(…) {
if (condition1) { return value1; }
else if (condition2) { return value2; }
else if (condition3) { return value3; }
else { return value4; }
```js
function example() {
if (condition1) {
return value1;
} else if (condition2) {
return value2;
} else if (condition3) {
return value3;
} else {
return value4;
}
}
```

Expand All @@ -84,8 +93,8 @@ function example(…) {

## 関連情報

- [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)
- [`if...else`](/ja/docs/Web/JavaScript/Reference/Statements/if...else)
- [Null 合体演算子 (`??`)](/ja/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing)
- [オプショナルチェーン (`?.`)](/ja/docs/Web/JavaScript/Reference/Operators/Optional_chaining)
- [コードでの意思決定 — 条件文](/ja/docs/Learn/JavaScript/Building_blocks/conditionals)
- [式と演算子](/ja/docs/Web/JavaScript/Guide/Expressions_and_operators)
- [式と演算子](/ja/docs/Web/JavaScript/Guide/Expressions_and_operators)ガイド

0 comments on commit 0fa0a5d

Please sign in to comment.