Files
2nd/10_Wiki/Topic_JavaScript/JavaScript_Ternary.md
T
koriweb 9609c04755 docs(10_Wiki): W3Schools 위키화 — HTML/CSS/JavaScript(core)
W3Schools 튜토리얼을 P-Reinforce v3.1 포맷으로 위키화(영어 본문, 한/영 섹션 헤더).
- Topic_HTML: 59문서 (튜토리얼+예제, 레퍼런스/메타 제외)
- Topic_CSS: 190문서 (메인 + Advanced/Flexbox/Grid/RWD 전체)
- Topic_JavaScript: 120문서 (코어 언어; Temporal/DOM상세/BOM/WebAPI/AJAX/jQuery/Graphics 등은 후속)
각 폴더 00_INDEX.md(MOC) 포함. 코드 verbatim, 미확인분은 "Not found in source" 표기.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 19:21:18 +09:00

113 lines
4.6 KiB
Markdown

---
id: javascript-ternary
title: "JavaScript Ternary"
category: "Frontend"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["ternary operator", "conditional operator", "JS ternary", "?: operator", "shorthand if else"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.9
created_at: 2026-06-23
updated_at: 2026-06-23
review_reason: ""
merge_history: []
tags: ["javascript", "js", "web", "frontend", "w3schools", "ternary", "operators", "conditional"]
raw_sources: ["https://www.w3schools.com/js/js_if_ternary.asp"]
applied_in: []
github_commit: ""
---
# [[JavaScript Ternary]]
## 🎯 한 줄 통찰 (One-line insight)
The conditional (ternary) operator is a shorthand for an `if...else` statement — it is the only JavaScript operator that takes three operands. [S1]
## 🧠 핵심 개념 (Core concepts)
- **Shorthand for `if...else`** — the conditional operator is a shorthand for writing conditional `if...else` statements. [S1]
- **Three operands** — it is called a ternary operator because it takes three operands, and it is the only JavaScript operator that takes three operands. [S1]
- **Returns one of two values** — it evaluates a condition and returns `expression1` if the condition is `true`, otherwise `expression2`. [S1]
- **Standardized early** — `() ? x : y` is an ES1 feature (JavaScript 1997) and is fully supported in all browsers. [S1]
## 🧩 추출된 패턴 (Extracted patterns)
- **Inline conditional assignment** — assign one of two values to a variable in a single expression based on a test, e.g. `let text = (age < 18) ? "Minor" : "Adult";`. [S1]
- **Flag-driven value selection** — use a boolean flag as the condition to pick between two literal values (e.g. a discount rate). [S1]
## 📖 세부 내용 (Details)
**The conditional (ternary) operator** [S1]
The conditional operator is a shorthand for writing conditional `if...else` statements. It is called a ternary operator because it takes three operands.
**Syntax** [S1]
```
(condition) ? expression1 : expression2
```
**Assigning a value based on a condition** [S1]
```javascript
let text = (age < 18) ? "Minor" : "Adult";
```
**Flag-driven selection — true branch** [S1]
```javascript
let isMember = true;
let discount = isMember ? 0.2 : 0;
```
**Flag-driven selection — false branch** [S1]
```javascript
let isMember = false;
let discount = isMember ? 0.2 : 0;
```
**Parameters** [S1]
| Parameter | Description |
|-----------|-------------|
| condition | Required. The condition to be tested. An expression that evaluates to `true` or `false`. |
| ? | Required. The operator separating the condition from the expressions. |
| expression1 | Required. The value to return if the condition is `true`. |
| : | Required. The operator separating the expressions. |
| expression2 | Required. The value to return if the condition is `false`. |
**Note** [S1]
The conditional (ternary) operator is the only JavaScript operator that takes three operands.
**Browser support** [S1]
`() ? x : y` is an ES1 feature (JavaScript 1997). It is fully supported in all browsers.
## 🛠️ 적용 사례 (Applied in summary)
The page's own snippets are the canonical applied examples — selecting between `"Minor"`/`"Adult"` based on `age`, and choosing a `discount` based on an `isMember` flag. No external project/commit applications found in the source.
## 💻 코드 패턴 (Code patterns)
Inline conditional assignment:
```javascript
let text = (age < 18) ? "Minor" : "Adult";
```
Flag-driven value selection:
```javascript
let isMember = true;
let discount = isMember ? 0.2 : 0;
```
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
No contradictions found in the source.
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual (실제 적용 사례 발견 시 applied/validated로 승격 가능)
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[JavaScript Tutorial]]
- **관련 개념:** [[JavaScript If Else]], [[JavaScript Switch]], [[JavaScript Comparisons]], [[JavaScript Booleans]]
- **참조 맥락:** Used wherever a compact `if...else` value selection is needed inline within an expression.
## 📚 출처 (Sources)
- [S1] W3Schools — JavaScript Ternary — https://www.w3schools.com/js/js_if_ternary.asp
## 📝 변경 이력 (Change history)
- 2026-06-23: Initial draft synthesized from the W3Schools "JavaScript Ternary" page (Astra wiki-curation, P-Reinforce v3.1 format).