三項条件演算子は、3 つのパートで構成される特殊な演算子で、question ? answer1 : answer2
という形式を取ります。question
が true か false かによって、2 つの式のうちの 1 つを評価する簡単な方法です。question
が true の場合は answer1
を評価して値を返し、false の場合は answer2
を評価して値を返します。
三項条件演算子は、以下のコードの簡略表現です。
if question {
answer1
} else {
answer2
}
次は、テーブル行の高さを計算する例です。行にヘッダがある場合は行の高さが内容よりも 50 ポイント高く、ヘッダが無い場合は 20 ポイント高くなります。
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight は 90
前の例は、以下のコードの簡略表現です。
let contentHeight = 40
let hasHeader = true
var rowHeight = contentHeight
if hasHeader {
rowHeight = rowHeight + 50
} else {
rowHeight = rowHeight + 20
}
// rowHeight は 90
初めの例での三項条件演算子の使用例は、1 行のコードで rowHeight
に正しい値を設定することができます。if
文内で値が変更されることが無いため rowHeight
が変数である必要がなく、2 つ目の例よりも簡潔です。
三項演算子は効率的な簡略表現ですが、多用しすぎるとコードを読みにくくするため、注意して使用してください。複数の三項演算子を組み合わせて結合することは避けてください。
Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.