Swift를 사용하면서 ??연산자를
명칭에 대한 생각을 해본적없이 계속 자연스레 사용하고 있었는데요.
해당 연산자의 명칭을 확실히 하고자 포스팅을 합니다.
포스팅 제목에도 썼듯이 ?? 연산자는 'Nil 병합 연산자'라고 부릅니다.
명칭 정리를 한김에 형태는 아래와 같고
a ?? b
a가 nil값일 때 b라는 값을 사용하게 됩니다.
해당 코드는 아래 코드의 축약형이라고 볼 수 있습니다.
a != nil ? a! : b
용법은 아래와 같습니다.
let defaultColorName = "red"
var userDefinedColorName: String? // 이 값은 defaults 값 nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorNam이 nil이므로
// colorNameToUse 값은 defaultColorName인 "red"가 설정
userDefinedColorName = "green"
colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName가 nil이 아니므로 colorNameToUse 는 "green"이 됨.