検索

ホームページ  >  に質問  >  本文

タイプがブランド化されていないことをアサートします

<p>タイプ ブランドを定義すると、たとえば次のようになります。 </p> <pre class="brush:php;toolbar:false;">const nominalSymbol を宣言: 固有のシンボル; type Nominal = U & { [nominalSymbol]: T };; <p><code>U</code> がブランド タイプではない場合に、<code>U< に解決されるタイプ <code>NotNominal<U></code> を定義する方法はありますか /コード>。 </p> <pre class="brush:php;toolbar:false;">const nominalSymbol を宣言: 固有のシンボル; type Nominal = U & { [nominalSymbol]: T }; type BrandedType = Nominal<'Address', string>; type a = NotNominal<string> // これは `string` である必要があります type b = NotNominal<Address> // これは `never`</pre> である必要があります。 <p><br /></p>
P粉323224129P粉323224129525日前557

全員に返信(1)返信します

  • P粉727531237

    P粉7275312372023-08-19 10:27:26

    type NotNominal<U> = U extends { [nominalSymbol]: string } ? never : U

    返事
    0
  • キャンセル返事