Ich möchte hallo Benutzername angezeigt, wenn eine Bedingung isLoggedIn
wahr ist, und nur Hallo sonst.Schöner Weg, um optional String in ES6 String-Vorlage
Ich verwende ES6 String-Vorlagen, um zu versuchen, die Syntax schöner als einfache alte Zeichenfolge Verkettung zu machen. Aber der beste Weg, die ich gefunden habe, es zu tun ist die folgende (es6fiddle)
`hello ${mockIsLoggedIn(false) ? username : ''}`
Es ist immer noch nicht sehr schön Syntax, vor allem in längeren Vorlagen, wo es mehr als eine Variable ist ich dies mit tun will.
Ich habe versucht, eine Syntax, die Zeichenfolgen optional in Vorlagen enthält, basierend auf einer Bedingung zu finden, aber ich glaube nicht, dass es eine gibt. So etwas wie dies wäre schöner:
`hello ${condition && username}`
Aber es macht falsch in den String, wenn die Bedingung falsch ist.
Ich habe auch versucht die Truthiness von username
in die Variable selbst backen, das heißt haben username
undefined
oder null
sein, wenn es nicht existiert - aber der String-Vorlage dann macht nur undefined oder null.
Kann jemand eine nettere Syntax oder eine Annäherung empfehlen, oder ist die erste Methode die beste, die ich mit String-Vorlagen machen werde?
Um zu bekommen, was Sie wollen, müsste 'condition'' '' 'sein. – loganfsmyth