127 Views
January 17, 24
スライド概要
1/6 関数の戻り値の型 Void型とNever型について
Void型とNever型 Void型:何も返さない関数の戻り値の型 Never型:関数の戻り値がない場合の戻り値の型 2/6
3/6 Void型について ・その関数に戻り値が存在しないことを示す ・undefinedをreturnすることができる 戻り値が存在しないため、 問題なく実行可能 戻り値を指定すると エラーが発生する undefinedをreturn可能
4/6 Never型について ・その関数に戻り値が絶対に存在し得ないことを示す ・何もreturnすることができない(undefinedも不可) ・その関数が最後まで処理されず、何も戻らないことを明示する 途中でエラーがthrowされるため、 最後まで実行されない 無限ループするため、処理が終わらない 如何なる戻り値も設定不可
なぜNever型が必要とされるのか ①. returnが省略された関数は、自動的にundefinedが戻り値になる つまり、戻り値の型はVoid型になる ②. データフロー解析の設計上、bottom型を確実に表現したい bottom型は簡潔に表現すると空集合のこと 値や型がなにも存在しないことを示す型として、 Never型を宣言する手法が静的型付け言語に取り入れられた 5/6
なぜNever型を取り上げたか 近々リリースされるPHP8.1に、関数の戻り値の型にNever型を 指定できる機能が追加されるから 昨今の静的型付けブームに、PHPも乗っていくのか? 6/6