In diesem Beitrag zeige ich, wie man ganz einfach in Typescript UUIDs erstellt.
Zunächst benötigst Du eine passende UUID-Library. Dafür empfehle ich die npm-Library uuid. Diese Library ist für die Verwendung mit Typescript bestens geeignet.
Du kannst die Library mit folgendem Kommando in dein Typescript-Projekt installieren:
npm i uuid
Wenn Du in vielen Deiner Projekte UUIDs verwenden möchtest, kannst Du die Library auch global installieren:
npm i -g uuid
Wie verwendet man UUIDs in Typescript?
UUIDs in Typescript ist ganz einfach zu verwenden. Es ist kein Boilerplate-Code erforderlich und auch kein umfangreiches Setup.
Sieh Dir das folgende Beispiel an:
import { v4 } from 'uuid';
let myUuid = v4();
console.log(myUuid);
Dies erzeugt dann eine ähnliche Ausgabe wie diese:
38b0a4ca-74c2-4d37-a556-5203eff5bff3
Jedes Mal, wenn Du dieses kurze Testprogramm für UUIDs in Typescript aufrufst, wirst Du eine andere UUID erhalten.
Wozu braucht man UUIDs?
Oft braucht man in der Softwareentwicklung eindeutige Kennungen (sogenannte IDs) für Datensätze. Dabei waren lange Zeit fortlaufende Nummern der Standard. Fortlaufende Nummern haben allerdings den Nachteil, dass auch die IDs der anderen Datensätze leicht zu erraten sind – und das möchte man gerne vermeiden.
In diesem Fall sind UUIDs Mittel der Wahl, wenn Du Datensätze eindeutig unterscheiden möchtest. UUIDs bestehen aus 128 Bits, die zufällig aber mit System generiert werden. Dabei ist die Entropie so groß, dass es nahezu unmöglich ist, dass zwei Mal die gleiche UUID erzeugt wird.
Welche UUIDs sind am besten? v4, v7?
Die Frage kann man genauso pauschal beantworten, wie die Frage „Welches Auto ist das Beste?“. Die Antwort lautet in beiden Fällen: „Es kommt darauf an.“ Worauf?
Im Wikipedia-Artikel zu UUIDs werden inzwischen 8 verschiedene Versionen erwähnt. Der Hauptunterschied zwischen UUID Version 4 und UUID Version 7 ist zum Beispiel, dass UUID v4 nur aus Zufallszahlen besteht, währen UUID v7 zusätzlich den UNIX-Zeitstempel verwendet. Meiner Ansicht nach, ist dadurch die Chance für Kollisionen (also doppelte UUIDs) geringer.
Deine Meinung
Verwendest Du UUIDs in Deinen Projekten? Oder empfindest Du das als unnötigen Aufwand?
Hinterlasse mir gerne einen Kommentar unter diesem Artikel. Ich bin gespannt.

