{"id":3502,"date":"2022-06-21T14:00:00","date_gmt":"2022-06-21T14:00:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/"},"modified":"2026-03-11T05:59:01","modified_gmt":"2026-03-11T05:59:01","slug":"funktionale-programmierung-in-javascript-teil-3-funktor-monade-vielleicht","status":"publish","type":"post","link":"https:\/\/thecodest.co\/de\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/","title":{"rendered":"Funktionale Programmierung in JavaScript Teil 3 - Functor &amp; Monad Maybe"},"content":{"rendered":"<h2 class=\"wp-block-heading\">Einf\u00fchrung<\/h2>\n\n\n\n<p>Oft ist es schwierig, die Unver\u00e4nderbarkeit zu erhalten. Das Muster der Umh\u00fcllung <a href=\"https:\/\/thecodest.co\/de\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">Daten<\/a> in einen Container kommt zur Rettung. Er sichert die Werte, so dass der Umgang mit ihnen sicher ist und Nebenwirkungen ausgeschlossen werden k\u00f6nnen.<\/p>\n\n\n\n<p>Wenn Sie neu hier sind, lesen Sie unbedingt meine letzten 2 Teile \u00fcber funktionale Programmierung auf <a href=\"https:\/\/thecodest.co\/de\/blog\/vibrant-upturn-charting-the-resolute-rise-of-swedish-firms\/\">Der Codest<\/a> Blog \u00fcber:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\">Teil 1 - Einf\u00fchrung<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-2-combinators\">Teil 2 - Kombinatoren<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Faktor<\/h2>\n\n\n\n<p>Sie hat keine komplexe Logik. Seine Hauptaufgabe besteht darin, den Kontext zu verpacken und die Funktionen, die er von au\u00dfen erh\u00e4lt, mit ihm durchzuf\u00fchren. Jedes Mal, wenn sich der Wert \u00e4ndert, wird eine neue Container-Instanz neu verpackt und zur\u00fcckgegeben. Beim Aufruf der <b>Karte<\/b> Methode, die eine bestimmte Aktion ausf\u00fchrt, gibt sie eine neue Containerinstanz mit dem von der \u00fcbergebenen Funktion zur\u00fcckgegebenen Wert zur\u00fcck, wobei der Grundsatz der Nichtver\u00e4nderbarkeit beibehalten wird.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erkl\u00e4rung<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\"><code> const Functor = value =&gt; ({\n     map: fn =&gt; Functor(fn(value)),\n     chain: fn =&gt; fn(value),\n     of: () =&gt; value\n });<\/code><\/code><\/pre>\n\n\n\n<p><b>Karte<\/b> - n\u00fctzlich, wenn Sie den Zustand eines Wertes in einem Container \u00e4ndern, ihn aber noch nicht zur\u00fcckgeben wollen.<\/p>\n\n\n\n<p><b>Kette<\/b> - wird verwendet, wenn Sie einen Wert an eine Funktion \u00fcbergeben wollen, ohne den Zustand des Containers zu ver\u00e4ndern. Normalerweise am Ende von <b>Karte<\/b> Anrufe.<\/p>\n\n\n\n<p><b>von<\/b> - R\u00fcckgabe des aktuellen Wertes<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Imperatives Beispiel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const randomInt = (max) =&gt; Math.floor(Math.random() * (max + 1))\n\nconst randomNumber = randomInt(200) \/\/ liefert eine Zahl zwischen 0 und 200\n\ndecrease(randomNumber) \/\/ gibt (Zahl zwischen 0 und 200) - 1 zur\u00fcck<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Deklaratives Beispiel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const randomIntWrapper = (max) =&gt;\nFunctor(max)\n.map(increase) \/\/ max + 1\n.map(multiplyBy(Math.random())) \/\/ Math.random() * (max + 1)\n.map(Math.floor) \/\/ Math.floor(Math.random() * (max + 1))\n\nconst randomNumber = randomIntWrapper(200)\n\nrandomNumber.of() \/\/ liefert eine Zahl zwischen 0 und 200\nrandomNumber.chain(decrease) \/\/ gibt (Zahl zwischen 0 und 200) - 1 zur\u00fcck<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Monade<\/h2>\n\n\n\n<p>Manchmal ben\u00f6tigt man zus\u00e4tzlich zu den Funktionen, die den neuen Zustand des Wertes ausl\u00f6sen, zus\u00e4tzliche Logik, die im Container versteckt ist. Hier kommt die Monade ins Spiel, denn sie ist eine Erweiterung von <b>Funktor<\/b>. Sie kann z. B. entscheiden, was geschehen soll, wenn der Wert einen bestimmten Wert hat, oder welchen Weg die n\u00e4chsten Aktionen nehmen sollen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monade Vielleicht<\/h2>\n\n\n\n<p>Monad l\u00f6st vielleicht das Problem von Werten, die nicht true zur\u00fcckgeben. Wenn dies geschieht, werden nachfolgende <b>Karte<\/b> Aufrufe werden ignoriert, aber es erlaubt Ihnen, eine Alternative zur\u00fcckzugeben, indem Sie die <b>getOr<\/b> Methode. Damit k\u00f6nnen Sie die Verwendung von if \/ else-Operatoren vermeiden, die in <b>Imperativ<\/b> Programmierung. Diese Monade besteht aus drei Containern:<\/p>\n\n\n\n<p><b>Nichts<\/b> - wird ausgef\u00fchrt, wenn ein Wert, der nicht wahr ist, in den Container f\u00e4llt oder <strong>Filter<\/strong> Methode gibt false zur\u00fcck. Sie wird verwendet, um die Ausf\u00fchrung einer Funktion zu simulieren. Das bedeutet, dass dieser Container die Funktion empf\u00e4ngt, sie aber nicht ausf\u00fchrt.<\/p>\n\n\n\n<p><b>Einfach<\/b> - Dies ist der Hauptcontainer, der alle Funktionen ausf\u00fchrt, aber wenn sich der Wert zu einem falschen Wert \u00e4ndert oder <b>Filter<\/b> Methode false zur\u00fcckgibt, wird sie an die Methode <b>Nichts<\/b> Container.<\/p>\n\n\n\n<p><b>Vielleicht<\/b> - Ich nehme den Ausgangswert und entscheide, welchen Container ich zu Beginn aufrufe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erkl\u00e4rung<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const Just = value =&gt; ({\nmap: fn =&gt; Maybe(fn(Wert)),\nchain: fn =&gt; fn(Wert),\nof: () =&gt; value,\ngetOr: () =&gt; Wert,\nfilter: fn =&gt; fn(Wert) ? Just(value) : Nothing(),\ntype: 'just'\n});\n\nconst Nothing = () =&gt; ({\nmap: fn =&gt; Nothing(),\nchain: fn =&gt; fn(),\nof: () =&gt; Nothing(),\ngetOr: substitute =&gt; substitute,\nfilter: () =&gt; Nothing(),\ntype: 'nichts'\n});\n\nconst Maybe = Wert =&gt;\nwert === null || wert === undefiniert || wert.typ === 'nichts'\n? Nothing()\n: Just(Wert)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/table.png\" alt=\"Tabelle Methoden Funktor \" title=\"Tabellenfunktor \"\/><\/figure>\n\n\n\n<p>Lassen Sie uns nun das vorherige Beispiel \u00fcber die Bedingung aufbauen. Wenn max gr\u00f6\u00dfer als Null ist, wird die Funktion ausgef\u00fchrt. Andernfalls wird sie 0 zur\u00fcckgeben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Imperatives Beispiel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const randomInt = (max) =&gt; {\nif(max &gt; 0) {\nreturn Math.floor(Math.random() * (max + 1))\n} else {\nreturn 0\n}\n}\n\nconst bookMiddlePage = 200\n\nconst randomPage = randomInt(10) || bookMiddlePage \/\/ liefert zuf\u00e4llig\nconst randomPage = randomInt(-10) || bookMiddlePage \/\/ gibt 200 zur\u00fcck<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Deklaratives Beispiel<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const randomIntWrapper = (max) =&gt;\nMaybe(max)\n.filter(max =&gt; max &gt; 0) \/\/ Wert false ignoriert weitere Aufrufe\n.map(increase)\n.map(multiplyBy(Math.random()))\n.map(Math.floor)\n\nconst bookMiddlePage = 200\n\n\/\/ Nur Container\nconst randomPage = randomIntWrapper(10).getOr(bookMiddlePage) \/\/ liefert zuf\u00e4llig\n\/\/ Nichts-Container\nconst randomPage = randomIntWrapper(-10).getOr(bookMiddlePage) \/\/ gibt 200 zur\u00fcck<\/code><\/pre>\n\n\n\n<p><br><a href=\"https:\/\/thecodest.co\/contact\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/interested_in_cooperation_.png\" alt=\"Kooperationsbanner\"><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Sehen Sie sich den dritten Teil unserer Artikelserie Power of functional programming in JavaScript an. Diesmal erkl\u00e4rt unser JavaScript-Experte mehr \u00fcber Functor und Monad Maybe.<\/p>","protected":false},"author":2,"featured_media":3503,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Functional programming in JavaScript Part 3 - Functor &amp; Monad Maybe - The Codest<\/title>\n<meta name=\"description\" content=\"Check the third part of our Power of functional programming in JavaScript article series. This time our JavaScript expert explains more about Functor and Monad Maybe.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/de\/blog\/funktionale-programmierung-in-javascript-teil-3-funktor-monade-vielleicht\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Functional programming in JavaScript Part 3 - Functor &amp; Monad Maybe\" \/>\n<meta property=\"og:description\" content=\"Check the third part of our Power of functional programming in JavaScript article series. This time our JavaScript expert explains more about Functor and Monad Maybe.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/de\/blog\/funktionale-programmierung-in-javascript-teil-3-funktor-monade-vielleicht\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-21T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T05:59:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Functional programming in JavaScript Part 3 &#8211; Functor &#038; Monad Maybe\",\"datePublished\":\"2022-06-21T14:00:00+00:00\",\"dateModified\":\"2026-03-11T05:59:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/\"},\"wordCount\":437,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/\",\"name\":\"Functional programming in JavaScript Part 3 - Functor & Monad Maybe - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png\",\"datePublished\":\"2022-06-21T14:00:00+00:00\",\"dateModified\":\"2026-03-11T05:59:01+00:00\",\"description\":\"Check the third part of our Power of functional programming in JavaScript article series. This time our JavaScript expert explains more about Functor and Monad Maybe.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/functional-programming-in-javascript-part-3-functor-monad-maybe\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Functional programming in JavaScript Part 3 &#8211; Functor &#038; Monad Maybe\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/de\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Funktionale Programmierung in JavaScript Teil 3 - Functor &amp; Monad Maybe - The Codest","description":"Sehen Sie sich den dritten Teil unserer Artikelserie Power of functional programming in JavaScript an. Diesmal erkl\u00e4rt unser JavaScript-Experte mehr \u00fcber Functor und Monad Maybe.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/de\/blog\/funktionale-programmierung-in-javascript-teil-3-funktor-monade-vielleicht\/","og_locale":"de_DE","og_type":"article","og_title":"Functional programming in JavaScript Part 3 - Functor & Monad Maybe","og_description":"Check the third part of our Power of functional programming in JavaScript article series. This time our JavaScript expert explains more about Functor and Monad Maybe.","og_url":"https:\/\/thecodest.co\/de\/blog\/funktionale-programmierung-in-javascript-teil-3-funktor-monade-vielleicht\/","og_site_name":"The Codest","article_published_time":"2022-06-21T14:00:00+00:00","article_modified_time":"2026-03-11T05:59:01+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Functional programming in JavaScript Part 3 &#8211; Functor &#038; Monad Maybe","datePublished":"2022-06-21T14:00:00+00:00","dateModified":"2026-03-11T05:59:01+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/"},"wordCount":437,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png","articleSection":["Software Development"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/","url":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/","name":"Funktionale Programmierung in JavaScript Teil 3 - Functor &amp; Monad Maybe - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png","datePublished":"2022-06-21T14:00:00+00:00","dateModified":"2026-03-11T05:59:01+00:00","description":"Sehen Sie sich den dritten Teil unserer Artikelserie Power of functional programming in JavaScript an. Diesmal erkl\u00e4rt unser JavaScript-Experte mehr \u00fcber Functor und Monad Maybe.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_3_-_functor_-_monad_maybe.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/functional-programming-in-javascript-part-3-functor-monad-maybe\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Functional programming in JavaScript Part 3 &#8211; Functor &#038; Monad Maybe"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Der Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Der Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/de\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/comments?post=3502"}],"version-history":[{"count":8,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3502\/revisions"}],"predecessor-version":[{"id":8386,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3502\/revisions\/8386"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media\/3503"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media?parent=3502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/categories?post=3502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/tags?post=3502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}