Heim >Web-Frontend >js-Tutorial >Erkunden von Option Gettern in Effect-TS
Effect-TS bietet einen robusten Satz von Tools für den Umgang mit Optionstypen, die Werte darstellen, die möglicherweise vorhanden sind oder nicht. In diesem Artikel untersuchen wir verschiedene Möglichkeiten, den Wert innerhalb einer Option mithilfe verschiedener von der Bibliothek bereitgestellter Getter abzurufen.
Mit der Funktion O.getOrElse können Sie einen Standardwert angeben, wenn die Option „None“ ist. Dies ist nützlich, wenn Sie sicherstellen möchten, dass immer ein Fallback-Wert verfügbar ist.
import { Option as O, pipe } from 'effect'; function getters_ex01() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrElse(() => 'none'))); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrElse(() => 'none'))); // Output: 'none' (since none is None) }
Die Funktion O.getOrThrow gibt den Wert innerhalb der Option zurück, wenn es Some ist, andernfalls wird ein Standardfehler ausgegeben.
import { Option as O, pipe } from 'effect'; function getters_ex02() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrThrow)); // Output: 1 (since some contains 1) try { console.log(pipe(none, O.getOrThrow)); // This will throw an error } catch (e) { console.log(e.message); // Output: getOrThrow called on a None } }
Die Funktion O.getOrNull gibt den Wert innerhalb der Option zurück, wenn es Some ist, andernfalls gibt sie null zurück.
import { Option as O, pipe } from 'effect'; function getters_ex03() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrNull)); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrNull)); // Output: null (since none is None) }
Die Funktion O.getOrUndefined gibt den Wert innerhalb der Option zurück, wenn es Some ist, andernfalls gibt sie undefiniert zurück.
import { Option as O, pipe } from 'effect'; function getters_ex04() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrUndefined)); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrUndefined)); // Output: undefined (since none is None) }
import { Option as O, pipe } from 'effect'; function getters_ex05() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrThrowWith(() => new Error('Custom Error')))); // Output: 1 (since some contains 1) try { console.log(pipe(none, O.getOrThrowWith(() => new Error('Custom Error')))); // This will throw a custom error } catch (e) { console.log(e.message); // Output: Custom Error } }
Durch die Verwendung dieser verschiedenen Getter können Sie Optionstypen in verschiedenen Szenarien effektiv verarbeiten und sicherstellen, dass sich Ihr Code korrekt verhält, unabhängig davon, ob eine Option „Some“ oder „None“ ist. Diese Dienstprogramme bieten eine klare, typsichere Möglichkeit, mit optionalen Werten zu arbeiten, vermeiden häufige Fallstricke im Zusammenhang mit Nullprüfungen und verbessern die Lesbarkeit und Wartbarkeit Ihres Codes. Die Übernahme dieser Muster kann zu saubereren, robusteren Codebasen führen, wo
Das obige ist der detaillierte Inhalt vonErkunden von Option Gettern in Effect-TS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!