문자열의 값이 있을 때는 "Donkey" 가 됩니다.
문자열의 값이 없을 때는 "" 이 될까요?
아닙니다, "" 도 값이 있는 문자열입니다. '값이 없는'게 아닌, '빈 값' 입니다.
그렇다면 값이 없는 문자열은 뭘까요?
nil 입니다.
다른 예로,
정수형의 값이 있으면? 123이 됩니다.
정수형의 값이 없다면? 0 이 아닌 nil 입니다. 0은 0이라는 숫자 '값' 이기 때문입니다.
옵셔널에 초기값을 지정하지 않으면 기본값은 nil 입니다.
위와 같은 코드는 사용불가능 합니다.
let ddd: string?
값이 없으니까 nil 입니다.
let aaa: string = ddd
에러 발생 했습니다.
ddd는 값이없습니다.
string은 "문자열" 만 가능합니다.
값이 없는 nil은 string이 아닙니다.
참고 자료
https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-2/optionals.html