답변:
그 약점은 동적 언어의 모든 유형과 실제로 다르지 않습니다 . 당신은 그것의 내용을 찾으려면 그것을 실행해야합니다. 이와 관련하여 옵션은 실제로 다르지 않습니다.
옵션은 값이 있거나 없을 수있는 정적 주석 이상의 것입니다. 그들과 관련된 작업도 있습니다. 옵션에 대한 매핑 된 작업 체인은 매우 유용한 기능 중 하나이므로 체인의 모든 단계 후에 실패를 확인하지 않아도됩니다.
값을 즉시 검색 한 경우에도 프로그래머가 Nothing
처음으로 실행 및 실패 했는지 확인하도록 계속 자극합니다 . 옵션이 없으면 해당 prodding은 null
처음 실행했을 때 포함 된 경우에만 발생 합니다. 많은 널 포인터 역 참조가 제품이 현장에 올 때까지 완고하게 기다렸습니다.
Objective-C와 대화 할 수 있습니다.
동적 유형 언어는 늦게 바인딩되므로 "선택적"(값이 아닌 값은으로 표시 nil
)을 확인하는 것이 고유합니다. 런타임시 유형을 확인하면 nil
암시 적으로 확인합니다 . 물론 이것은 체인 가능합니다. 이것은 또한 본질적으로 이루어집니다.
정적 유형 언어의 경우이 추가 개념은 컴파일시 유형 결정을 내려야하기 때문에 이점이됩니다. 동적 유형 언어는 결코 그렇지 않습니다.