Swift) 삼항연산자
👍 삼항연산자
삼…항?? 왓이즈 삼항쓰?
- 단항 연산자 : -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