オントロジーの構築ファンクション基礎的なTypeScriptundefined 値を処理する

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

undefined 値を処理する

以下のドキュメントは、TypeScript v1 関数に固有の内容です。オントロジー SDK のサポートや、設定可能なリソース要求など、より充実した機能を利用するには、TypeScript v2 への移行を推奨します。

以下に、プロパティやリンクへのアクセス時に返される可能性がある undefined 値を処理するための、便利な2つのパターンを示します。

明示的なチェック

Copied!
1 2 3 4 5 6 7 @Function() public getFullName(employee: Employee): string { if (!(employee.firstName && employee.lastName)) { throw new UserFacingError("Cannot derive full name because either first or last name is undefined."); } return employee.firstName + " " + employee.lastName; }

firstName フィールドと lastName フィールドの両方が定義されていることを確認することで、TypeScript コンパイラーは、return 文を含む最終行を正しくコンパイルできると判断します。この方法の利点は、型チェックがより明示的になることと、undefined 値が存在する場合に、何が問題だったかをより明確に示すエラーをスローできることです。

非 null アサーション演算子

TypeScript の非 null アサーション演算子 ↗(!)を使用すると、undefined のケースを無視できます。

Copied!
1 2 3 4 @Function() public getFullName(employee: Employee): string { return employee.firstName! + " " + employee.lastName!; }

この方法は、TypeScript コンパイラーの判断を単純にオーバーライドし、アクセスするフィールドが定義されていると表明します。コードはより簡潔になりますが、フィールドのいずれかが undefined だった場合、わかりにくいエラーにつながる可能性があります。可能な限り、明示的なチェックを行うことを推奨します。