web-dev-qa-db-ja.com

疑問符TypeScript変数

私はこれらのようなコードスニペットを見てきました:

export interface IUser {
    email?: string;
    firstName?: string;
    lastName?: string;
}

しかし、なぜ変数名の末尾に疑問符が付いているのでしょうか。このスニペットは、TypeScriptでmongodbを使用する例の一部です。

答えはおそらくどこかにありますが、見つからないため、間違ったキーワードを使用しているようです。

7
Arjan

TypeScriptでは、<name>?: <typename><name>: <typename> | undefinedの省略形。シンボルmayに示されたタイプの値が含まれるか、mayに値undefined(これはnullのようなものです)。

これは、(TypeScript 2の新機能)--strictNullChecksオプションが有効になっている場合に重要です。 Nullおよびundefined-awareタイプ オプションに関するドキュメントは、おそらくこれが有用である理由を理解し始める必要がある場所です。

12
Burt_Harris

それは彼らがそこにいることができるが、ある必要はないことを意味します。オプションのフィールド名を使用できます。使用するのは非常に一般的です。

使用例は、Webサイトのユーザーがオプションの表示名を持つことを許可することです。

1
mast3rd3mon

私が間違っていない場合、それはオプションであることを示します。つまり、nullになる可能性があります。

0
Dmyto Holota