Heim  >  Fragen und Antworten  >  Hauptteil

Stellen Sie sicher, dass ein Typ nicht mit einer Marke versehen ist

<p>Wenn wir eine Typmarke definieren, zum Beispiel: </p> <pre class="brush:php;toolbar:false;">declare const nominalSymbol: eindeutiges Symbol; Typ Nominal<T erweitert String, U> = U & <p>Gibt es eine Möglichkeit, einen Typ <code>NotNominal<U></code> zu definieren, der in <code>U< aufgelöst wird? Code>. </p> <pre class="brush:php;toolbar:false;">declare const nominalSymbol: eindeutiges Symbol; Typ Nominal<T erweitert String, U> = U & type BrandedType = Nominal<'Address', string>; type a = NotNominal<string> // Dies sollte „string“ sein type b = NotNominal<Address> // Dies sollte „never“ sein</pre> <p><br /></p>
P粉323224129P粉323224129429 Tage vor484

Antworte allen(1)Ich werde antworten

  • P粉727531237

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

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

    Antwort
    0
  • StornierenAntwort