Swift) 삼항연산자

1 minute read

👍 삼항연산자

삼…항?? 왓이즈 삼항쓰?

  • 단항 연산자 : -a , !b , c! 와 같이 대상의 바로 앞이나 뒤에 붙여 사용하는 연산자
  • 이항 연산자 : 2 + 3 과 같이 두 개의 대상의 사이에 있는 연산자
  • 삼항 연산자 : a ? b : c 와 같은 형태의 조건부 연산자 (Swift에서 삼항 연산자는 이 연산자 하나 뿐입니다)

자 그러면 삼항연산자를 어떻게 사용하느냐!

지나가다가 다음과 같은 사망…삼항연산자의 사용을 보신적이 있을거에요!

let a = b > 10 ? true : false
// b 가 10 보다 크면 a 에 true 할당.
// b 가 10 보다 작으면 a 에 false 할당.
조건 ? 표현식 A : 표현식 B

다음과 같이 사용되는데요. : 를 기준으로 왼쪽은 참일 경우, 오른쪽은 거짓일 경우를 실행하게 됩니다.

언제 사용될까요?

두 결과 중 하나를 선택해야할 때 간결하게 사용가능해요!

위의 코드를 조건문을 활용해서 표현하면 다음과 같이 표현이 되요!

if b > 10 {
    a = true
} else {
    a = false
}

장점

if 조건문은 가독성을 위해서 블록을 다음과 같이 사용합니다.

if ... {
    // ...
} else if {
    // ...
}

그런데 삼항 연산자를 사용하면 한줄에 조건문에 대한 참,거짓일 경우를 간결하게 표현할 수 있죠!

단점

표현식이 길어질수록 오히려 더 지저분해지고 가독성이 떨어져요!

if - else 구문만 사용가능하다. 즉, 다양한 조건에 대응하지 못하는 부분이 있어요!

👍 Nil-Coalescing Operator(nil 병합 연산자)

nil 병합연산자는 a ?? b 형식을 갖는 연산자입니다

a 가 nil 이 아닐경우에 a 를 반환하고 nil 일 경우에 b 를 반환합니다!

이 nil 병합 연산자도 삼항연산자의 축약형이라는 사실!

// 삼항 연산자
a != nil ? a! : b

// nil 병합 연산자
a ?? b

Categories:

Updated: