Datentypen

Datentypen

Man unterscheidet folgende Basisdatentypen:

String

Ein String ist eine Zeichenkette, d. h. eine Folge von Zeichen (z. B. Buchstaben, Ziffern, Sonderzeichen und Steuerzeichen). Strings müssen immer zwischen zwei Hochkommas oder Anführungszeichen notiert werden.

"Wert1, Wert2, Wert3, Wert4"

String

'Wert1, Wert2, Wert3, Wert4'

String

Wert1, Wert2, Wert3, Wert4

kein String (Anführungszeichen fehlen)

 

Konkatenation

Mit dem +-Operator möglich ist es möglich mehrere Strings zusammenzustellen.

In diesem Beispiel erstellen wir Variablen für eine Begrüßung und stellen wir zusammen.

{{ var $greeting = "Wilkommen " }} {{ var $customer = "Neukunde"}} {{ var $genericGreeting= $greeting + $customer}} {{= $genericGreeting}} // Wilkommen Neukunde

Nur Strings können konkateniert werden. Dennoch ist es möglich andere Variablen in ein String zu konvertieren um sie mit einem String zu konkatenieren.

{{ var $menge = 1}} {{ var $text = "Anzahl: " + string($menge) + "!" }} {{= $text}} // Anzahl: 1!

Es können andere Basistypen in String konvertiert werden:

Boolean: {{= string(true) }} // "true" Integer: {{= string(1) }} // "1" Float: {{= string(1.1) }} // "1.1"

 

Integer

Integer sind Ganzzahlen (Zahlen ohne Nachkommastellen).

10

Integer

20.00

kein Integer (Nachkommastellen vorhanden)

 

Float

Floats sind Fließkommazahlen mit einem Punkt als Dezimaltrenner.

10.25

Float

10,25

kein Float (ungültige Syntax: Komma als Dezimaltrenner)

Float konvertieren

Es können andere Basistypen in Float konvertiert werden

String: {{= float("1.1")}} // 1.1 Integer: {{= float(1) }} // 1.0 Boolean: {{= float(true) }} // 1.0

 

Boolean/Bool (true/false)

Ein Bool ist ein Wahrheitswert und kann nur true (wahr) oder false (falsch) sein.

true

Wahrheitswert true

false

Wahrheitswert false

"true"

kein Wahrheitswert (falsche Syntax: String)

Boolesche Werte werden meistens in Kombination mit Vergleichsoperatoren erzeugt. Wenn man beispielsweise einen Wert mit einem anderen vergleicht, ist das Ergebnis entweder wahr oder falsch.

{{ if $quantity == 1 }}     Wird angezeigt, wenn der Wert der Variable $quantity gleich 1 ist. {{ /if }}

truthy und falsy

Nicht nur Werte vom Datentyp Bool enthalten einen Wahrheitswert. Objekte aller anderen Datentypen haben ebenfalls eine Werte-Eigenschaft, die man als truthy oder falsy bezeichnet. In Zusammenhang mit logischen Operatoren und Verzweigungen ist es wichtig zu wissen, wann ein Wert als wahr oder falsch angesehen wird.

Hier eine Auflistung aller Werte die falsy sind und deshalb als false behandelt werden:

null, der Wert des Datentyps Null

false

▪die Zahl 0 (Integer) oder 0.0 (Float)

▪ein leerer String " "

▪eine leere List [ ]

▪eine leere Map { }

Alle anderen Werte werden als truthy behandelt.

Boolean konvertieren

Es können andere Basistypen in Boolean konvertiert werden

String: {{= bool(" ")}} // true String: {{= bool("")}} // false Integer: {{= bool(1) }} // true Integer: {{= bool(0) }} // false Float: {{= bool(1.0) }} // true Float: {{= bool(0.0) }} // false

List

Eine List ist eine Reihe von Werten, die kommasepariert zwischen eckigen Klammern stehen. Eine leere List wird mit eckigen Klammern ohne Inhalt geschrieben.

[1, 2, 3]

gefüllte List

[ ] 

leere List

Die Leerzeichen zwischen den Werten sind optional.

Distinct

Wenn in einer Liste mehrere Einträge gibt, die identisch sind, kann mit dieser Funktion alle doppelten Einträge entfernt werden.

Argumente

list - Liste, die verarbeitet werden soll

key - (Optional) Map-Key, der für den Vergleich mit anderen Maps hergenommen werden soll.

 

Beispiel

{{ var $list = [ 1, 2, 3, 4, 3, 2, 5, 6, 1 ] }} {{= distinct($list) }} // Ergebnis: [ 1, 2, 3, 4, 5, 6 ] {{ $list = [ "a", 1, "b", true, 2, "a", true, true, {"x": 1, "y": 1}, {"x": 1, "y": 2} ] }} {{= distinct($list) }} // Ergebnis: [ "a", 1, "b", true, 2, , {"x": 1, "y": 1}, {"x": 1, "y": 2} ]

 

Man kann bei für Objekte einen key angeben, mit dem definiert werden soll welches Feld zum Vergleich hergenommen werden soll.

{{ var $list = [ 1, {"x": 1, "y": 1}, {"x": 1, "y": 2}, {"x": 2, "y": 2} ] }} {{= $list | distinct("x") }} // Ergebnis: [ 1, {"x": 1, "y": 1}, {"x": 2, "y": 2} ] ähnliche Schreibweise ohne Pipe: {{= distinct($list, "x") }}

 

Merge

Es können zwei Listen jeweils miteinander vereint werden.

Zusätzliche Information: Neben der Verwendung von einer Funktion kann auch der +-Operator ($list1 + $list2) verwendet werden.

Argumente

target - Liste, die für das Zusammenführen als Basis hergenommen werden soll

source - Liste, um die das target erweitert werden soll

{{ var $list1 = [ 1, 2, 3 ] }} {{ var $list2 = [ 3, 4, 5] }} {{ var $list3 = merge($list1, $list2) }} {{= $list3 }} // Ergebnis: [1, 2, 3, 3, 4, 5]

Map

Eine Map ist eine Liste von Schlüssel-Wert-Paaren, die innerhalb einfacher geschweifter Klammern geschrieben werden. Der Schlüssel und sein Wert werden durch Doppelpunkt getrennt. Die einzelnen Schlüssel-Wert-Paare werden durch Kommas getrennt. Eine leere Map wird mit geschweiften Klammern ohne Inhalt geschrieben.

{ name: "Shirt", price: "12.95", image: "shirt-blue.jpg" }

gefüllte Map

{ "404": "Not found", "301": "Moved Permanently" }

gefüllte Map

{ "Name, Description , Price, Zusatzinfos" } 

keine Map (ungültige Syntax)

{ }

leere Map

Wenn ein Schlüssel andere Zeichen enthält als Ziffern (0-9), Buchstaben (a-z, A-Z) oder Unterstriche (_) oder mit einer Ziffer/Unterstrich beginnt, muss dieser als String in Anführungszeichen angegeben werden.

Bei der Ausgabe von Maps wird die Reihenfolge der einzelnen Schlüssel-Werte-Paare nicht berücksichtigt.

Merge

Es können zwei Maps jeweils miteinander vereint werden. Bei der Map wird bei unterschiedlichen Inhalten der Inhalt des zweite Eintrags verwendet. Dabei kann auch verschachtelte Maps berücksichtigt werden.

Argumente

target - Map, die für das Zusammenführen als Basis hergenommen werden soll

source - Map, um die das target erweitert werden soll

deep - Optionaler Flag ob ein die Verschachtelung von Maps berücksichtigt werden soll (default: false)

 

Beispiel - Merge von zwei Maps.

{{ var $map1 = { "a": 1, "b": 2, "c": { "x": 10, "y": 11 } } }} {{ var $map2 = { "a": 2, "c": { "z": 12 }, "d": true } }} {{ var $map3 = merge($map1, $map2) }} {{= $map3 }} // Ergebnis: { "a": 2, "b": 2, "c":{ "z": 12 }, "d": true }

Beispiel - Deep Merge von zwei Maps:

{{ var $map1 = { "a": 1, "b": 2, "c": { "x": 10, "y": 11 } } }} {{ var $map2 = { "a": 2, "c": { "z": 12 }, "d": true } }} {{ var $map3 = merge($map1, $map2, true) }} {{= $map3 }} // Ergebnis: { "a": 2, "b": 2, "c":{ "x": 10, "y": 11, "z": 12 }, "d": true }

© 2025 WEBSALE AG | Impressum | Datenschutz