回答:
その弱点は、動的言語のすべてのタイプの場合とまったく違いはありません。実行して、内容を確認する必要があります。その点でオプションは実際に違いはありません。
オプションは、値が存在する場合と存在しない場合がある静的な注釈以上のものです。それらには、関連する操作もあります。オプションのマッピングされた操作のチェーンは、チェーン内のすべてのステップの後で障害をチェックする必要がないようにする非常に便利な機能の1つです。
すぐに値を取得しただけでも、プログラマがNothing
最初に実行されて失敗したかどうかを確認する必要があります。オプションがなければ、そのプロディングはnull
、最初に実行したときに含まれている場合にのみ発生します。多くのヌルポインター逆参照は、製品がフィールドに登場するまで頑固に待機しています。
Objective-Cについて話すことができます。
動的型付き言語は遅れてバインドするため、「オプション」(値以外の値はで表されnil
ます)の確認は固有ですnil
。実行時に型を確認する場合、暗黙的に確認します。もちろん、これはチェーン可能です。これも本質的に行われます。
静的型付き言語の場合、コンパイル時に型の決定を行う必要があるため、この追加の概念は利点です。動的型付き言語ではありえない状況です。