Heim Web-Frontend js-Tutorial Erkunden von Option Gettern in Effect-TS

Erkunden von Option Gettern in Effect-TS

Jul 18, 2024 am 12:37 AM

Exploring Option Getters 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.

Beispiel 1: Verwendung von O.getOrElse

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)
}
Nach dem Login kopieren

Beispiel 2: Verwendung von O.getOrThrow

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
  }
}
Nach dem Login kopieren

Beispiel 3: Verwendung von O.getOrNull

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)
}
Nach dem Login kopieren

Beispiel 4: Verwendung von O.getOrUndefined

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)
}
Nach dem Login kopieren

Beispiel 5: Verwendung von O.getOrThrowWith

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
  }
}
Nach dem Login kopieren

Abschluss

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

Beispielfarben JSON -Datei Beispielfarben JSON -Datei Mar 03, 2025 am 12:35 AM

Beispielfarben JSON -Datei

8 atemberaubende JQuery -Seiten -Layout -Plugins 8 atemberaubende JQuery -Seiten -Layout -Plugins Mar 06, 2025 am 12:48 AM

8 atemberaubende JQuery -Seiten -Layout -Plugins

10 JQuery Syntax Highlighters 10 JQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighters

Erstellen Sie Ihre eigenen AJAX -Webanwendungen Erstellen Sie Ihre eigenen AJAX -Webanwendungen Mar 09, 2025 am 12:11 AM

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

Was ist ' this ' in JavaScript? Was ist ' this ' in JavaScript? Mar 04, 2025 am 01:15 AM

Was ist ' this ' in JavaScript?

10 JavaScript & JQuery MVC -Tutorials 10 JavaScript & JQuery MVC -Tutorials Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC -Tutorials

See all articles