{"id":3499,"date":"2022-05-25T07:46:55","date_gmt":"2022-05-25T07:46:55","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/functional-programming-in-javascript-part-1-introduction\/"},"modified":"2026-03-11T06:02:29","modified_gmt":"2026-03-11T06:02:29","slug":"puissance-de-la-programmation-fonctionnelle-en-javascript-partie-1-introduction","status":"publish","type":"post","link":"https:\/\/thecodest.co\/fr\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/","title":{"rendered":"Programmation fonctionnelle en JavaScript Partie 1 - Introduction"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is functional programming?<\/h2>\n\n\n\n<p><em>\u201cIn simple terms, functional programming is a <a href=\"https:\/\/thecodest.co\/fr\/blog\/8-key-questions-to-ask-your-software-development-outsourcing-partner\/\">software development<\/a> style that places a major emphasis on the use of functions\u201d<\/em><\/p>\n\n\n\n<p>Excerpts from the book: Luis Atencio &#8220;Functional Programming in <strong><a href=\"https:\/\/thecodest.co\/fr\/dictionary\/why-is-javascript-so-popular\/\">JavaScript<\/a><\/strong>. How to improve your <strong>JavaScript<\/strong> programs using functional techniques&#8221;<\/p>\n\n\n\n<p><strong>Functional programming<\/strong> is classified as a <strong>declarative<\/strong> paradigm where the program description is separated from the calculations. The emphasis here is on the use of expressions to describe program logic. This is the opposite of <strong>imperative<\/strong> programming, where the <a href=\"https:\/\/thecodest.co\/fr\/dictionary\/what-is-code-refactoring\/\">code<\/a> is executed step by step and tells the computer in detail how to get the job done.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Declarative vs imperative, examples<\/h2>\n\n\n\n<p>Consider a case where we have an array of integers and we need to raise each of them to the second power and then only select those values that are not even.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Imperative<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];\n\nconst results = []\n\nfor(let i = 0; i &lt; numbers.length; i++) {\nconst secondPower = Math.pow(numbers[i], 2)\nif(secondPower &amp; 1) { \/\/ or % 2 but operations on bits are faster\nresults.push(secondPower);\n}\n}\n\nconsole.log(results) \/\/ [1, 9, 25, 49, 81]<\/code><\/pre>\n\n\n\n<p>As for the <strong>imperative<\/strong> solution, the focus on implementation details is clearly visible. In the loop, you can see the array index based on the need to control the number of elements. Due to the large number of details in the code, it is harder to focus on what it is doing. Let <a href=\"https:\/\/thecodest.co\/fr\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> now focus on the <strong>declarative<\/strong> solution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Declarative<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const risesToSecondPower = (num) => Math.pow(num, 2)\nconst isOdd = (num) => num &amp; 1;\n\nconst numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n\nconst results = numbers\n.map(risesToSecondPower)\n.filter(isOdd);\n\nconsole.log(results) \/\/ [1, 9, 25, 49, 81]<\/code><\/pre>\n\n\n\n<p>In this solution, the implementing has been separated from the invocation by taking the logic to separate functions. Thanks to this solution, we can only focus on the names of functions that describe what is happening in them. Additionally, the level of abstraction has been raised and the logic now can be reusable. Now, let&#8217;s focus on the call. You can&#8217;t see any details in it, just a description that tells you what this code does, step by step:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>map(risesToSecondPower)<\/code> &#8211; take each element of an array and raise it to the second power,<\/li>\n\n\n\n<li><code>filter(isOdd)<\/code> &#8211; filter and select odd elements.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Benefits<\/h2>\n\n\n\n<p><strong>Functional programming<\/strong> has many benefits. When it comes to <strong>JavaScript<\/strong>, the use of functions is natural because it is a functional language. Even the classes in this language are &#8220;syntactic sugar&#8221; and they are underneath composed of functions.<\/p>\n\n\n\n<p>When it comes to readability, in the imperative approach, the code usually becomes a list with names of functions that can be read sequentially without delving into their logic. As a result, we do not focus on the implementation details.<\/p>\n\n\n\n<p>Another advantage is sticking to the convention of immutable objects. Thanks to this approach, the code becomes safer because the references in <strong>JavaScript<\/strong> are very strong and it is easy to modify the unwanted object.<\/p>\n\n\n\n<p>In functional programming, the code is broken down into small functions that can easily be thought of as reusable abstract code.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pure function<\/h2>\n\n\n\n<p>One of the important considerations in functional programming is pure functions. To create such a function, you need to remember a few rules:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>the result that the function returns depends only on the input parameters,<\/li>\n\n\n\n<li>do not use global variables and variables that are beyond your own range,<\/li>\n\n\n\n<li>do not change the state of the parameters,<\/li>\n\n\n\n<li>pure functions do not have any &#8220;side-effects&#8221; (usually modifying object properties),<\/li>\n\n\n\n<li>for the indicated input parameters, they will always return one and the same result,<\/li>\n\n\n\n<li>a pure function always takes a parameter and always returns a parameter.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">\/\/ Inpure function\nlet counter = 5\n...\nconst multipleCounter = (multiplier) => {\ncounter = counter * multiplier\n}\n\nmultiplyCounter(2) \/\/ -> ? the result depends on the initial value<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">\/\/ Pure function\nconst multiplyBy = (multiplier) => (value) => value * multiplier\nconst multipleByTwo = multiplyBy(2)\n\nconst counter = multiplyByTwo(5) \/\/ -> 10<\/code><\/pre>\n\n\n\n<p>The first function is unpredictable because it depends on an external parameter that can change. The second function is transparent, it depends only on input parameters, does not modify them, and does not use out-of-range variables. It is transparent because it depends on parameters, does not modify them, does not use variables outside the range, and returns a new value.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/thecodest.co\/contact\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/interested_in_cooperation_.png\" alt=\"cooperation banner\"\/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Lisez notre article pour d\u00e9couvrir la puissance de la programmation fonctionnelle dans JavaScript. La programmation fonctionnelle est class\u00e9e comme un paradigme d\u00e9claratif o\u00f9 la description du programme est s\u00e9par\u00e9e des calculs.<\/p>","protected":false},"author":2,"featured_media":3500,"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-3499","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 plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Functional Programming in JavaScript Part 1 \u2013 Introduction - The Codest<\/title>\n<meta name=\"description\" content=\"Read our article to discover the power of functional programming in JavaScript. Functional programming is classified as a declarative paradigm where the program description is separated from the calculations.\" \/>\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\/fr\/blog\/puissance-de-la-programmation-fonctionnelle-en-javascript-partie-1-introduction\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Functional Programming in JavaScript Part 1 \u2013 Introduction - The Codest\" \/>\n<meta property=\"og:description\" content=\"Read our article to discover the power of functional programming in JavaScript. Functional programming is classified as a declarative paradigm where the program description is separated from the calculations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/fr\/blog\/puissance-de-la-programmation-fonctionnelle-en-javascript-partie-1-introduction\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-25T07:46:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T06:02:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.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 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Functional Programming in JavaScript Part 1 \u2013 Introduction\",\"datePublished\":\"2022-05-25T07:46:55+00:00\",\"dateModified\":\"2026-03-11T06:02:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/\"},\"wordCount\":595,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_1_-_introduction.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/\",\"name\":\"Functional Programming in JavaScript Part 1 \u2013 Introduction - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_1_-_introduction.png\",\"datePublished\":\"2022-05-25T07:46:55+00:00\",\"dateModified\":\"2026-03-11T06:02:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"description\":\"Read our article to discover the power of functional programming in JavaScript. Functional programming is classified as a declarative paradigm where the program description is separated from the calculations.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_1_-_introduction.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/power_of_functional_programming_in_javascript_part_1_-_introduction.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/power-of-functional-programming-in-javascript-part-1-introduction\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Functional Programming in JavaScript Part 1 \u2013 Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"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\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@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\\\/fr\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Programmation fonctionnelle en JavaScript Partie 1 - Introduction - The Codest","description":"Lisez notre article pour d\u00e9couvrir la puissance de la programmation fonctionnelle dans JavaScript. La programmation fonctionnelle est class\u00e9e comme un paradigme d\u00e9claratif o\u00f9 la description du programme est s\u00e9par\u00e9e des calculs.","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\/fr\/blog\/puissance-de-la-programmation-fonctionnelle-en-javascript-partie-1-introduction\/","og_locale":"fr_FR","og_type":"article","og_title":"Functional Programming in JavaScript Part 1 \u2013 Introduction - The Codest","og_description":"Read our article to discover the power of functional programming in JavaScript. Functional programming is classified as a declarative paradigm where the program description is separated from the calculations.","og_url":"https:\/\/thecodest.co\/fr\/blog\/puissance-de-la-programmation-fonctionnelle-en-javascript-partie-1-introduction\/","og_site_name":"The Codest","article_published_time":"2022-05-25T07:46:55+00:00","article_modified_time":"2026-03-11T06:02:29+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Functional Programming in JavaScript Part 1 \u2013 Introduction","datePublished":"2022-05-25T07:46:55+00:00","dateModified":"2026-03-11T06:02:29+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/"},"wordCount":595,"commentCount":0,"image":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.png","articleSection":["Software Development"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/","url":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/","name":"Programmation fonctionnelle en JavaScript Partie 1 - Introduction - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.png","datePublished":"2022-05-25T07:46:55+00:00","dateModified":"2026-03-11T06:02:29+00:00","author":{"@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"description":"Lisez notre article pour d\u00e9couvrir la puissance de la programmation fonctionnelle dans JavaScript. La programmation fonctionnelle est class\u00e9e comme un paradigme d\u00e9claratif o\u00f9 la description du programme est s\u00e9par\u00e9e des calculs.","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/power_of_functional_programming_in_javascript_part_1_-_introduction.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/power-of-functional-programming-in-javascript-part-1-introduction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Functional Programming in JavaScript Part 1 \u2013 Introduction"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","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":"fr-FR"},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"fr-FR","@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\/fr\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3499","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/comments?post=3499"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3499\/revisions"}],"predecessor-version":[{"id":8378,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3499\/revisions\/8378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media\/3500"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media?parent=3499"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/categories?post=3499"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/tags?post=3499"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}