{"id":503,"date":"2019-03-03T02:39:30","date_gmt":"2019-03-03T02:39:30","guid":{"rendered":"http:\/\/www.projectimmerse.com\/blog\/?p=503"},"modified":"2026-08-01T02:14:03","modified_gmt":"2026-08-01T02:14:03","slug":"javascript-functional-programming-part-1","status":"publish","type":"post","link":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/","title":{"rendered":"Javascript &#8211; Functional Programming Part 1"},"content":{"rendered":"<p>I haven&#8217;t covered any advanced topics until now &#8211; functional programming in Javascript is an advanced topic in my book. Not only is functional programming an advanced topic, it&#8217;s quite special and specific to the Javascript language. Even a well seasoned developer could get a little frazzled by the concept of functional programming &#8211; especially those who code in more statically typed languages &#8211; like C or Java. <\/p>\n<p>I, myself have mulled over this a long time &#8211; especially because I haven&#8217;t built any applications using much of functional programming. Frameworks and libraries &#8211; yes, but I&#8217;m talking about writing my own proprietary code. Programmers unknowingly utilize functional programming all the time &#8211; with this, comes closures, prototypical inheritance &#8211; other advanced patterns found in our javascript libraries today.<br \/>\n<!--more--><\/p>\n<p>Easing in to functional programming is probably the best way to get into it. I know that&#8217;s a little contradictory to &#8220;immersing&#8221; yourself into something but for more advanced concepts &#8211; &#8220;immersing&#8221; yourself piece by piece would be much more productive. Also using examples or contexts that interest you &#8211; remember, programming and languages is just a tool. So if you&#8217;re interested in gaming, health or cars &#8211; then you should write your programs based on that &#8211; it just makes things a lot more enjoyable, at least for me it does.<\/p>\n<p>I&#8217;m a big fan of Clash Royale, so let&#8217;s start with defining a simple function that takes parameters <\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nfunction nextInLine(deck, card) {\r\n\r\n        deck.push(card);\r\n\r\n        return deck;\r\n\r\n}\r\n\r\n\r\nvar royaleCards = &#x5B;'Mega Knight', 'Elite Barbarians', 'Bowler', 'Baby Dragon', 'Dart Goblin'];\r\n\r\nconsole.log(&quot;Before: &quot; + JSON.stringify(royaleCards));\r\nconsole.log(nextInLine(royaleCards, 'Ice Spirit'));\r\nconsole.log(&quot;After: &quot; + JSON.stringify(royaleCards));\r\n\r\n\/\/ Output:\r\n\r\nBefore: &#x5B;&quot;Mega Knight&quot;,&quot;Elite Barbarians&quot;,&quot;Bowler&quot;,&quot;Baby Dragon&quot;,&quot;Dart Goblin&quot;]\r\n&#x5B; 'Mega Knight',\r\n  'Elite Barbarians',\r\n  'Bowler',\r\n  'Baby Dragon',\r\n  'Dart Goblin',\r\n  'Ice Spirit' ]\r\nAfter: &#x5B;&quot;Mega Knight&quot;,&quot;Elite Barbarians&quot;,&quot;Bowler&quot;,&quot;Baby Dragon&quot;,&quot;Dart Goblin&quot;,&quot;Ice Spirit&quot;]\r\n\r\n<\/pre>\n<p>The above code isn&#8217;t making use of functional programming &#8211; were just warming up here. The function nextInLine() takes two arguments, but it&#8217;s important to note each of their datatypes. <\/p>\n<ol>\n<li>deck &#8211; array data type<\/li>\n<li>card &#8211; string data type<\/li>\n<\/ol>\n<p>Alright, I think were ready to work with functions and passing them as function arguments. This is basically functional programming. <\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ functional programming\r\n  \r\nvar deckOne = &#x5B;1, 2, 3, 4, 5, 6, 7, 8];\r\n\r\n\/\/ take an array and function\r\nfunction mapForEach(deckArray, deckFunction) {\r\n\r\n  var newDeck = &#x5B;];\r\n\r\n  for (var i = 0; i &lt; deckArray.length; i++) {\r\n    newDeck.push(deckFunction(deckArray&#x5B;i]));\r\n  }\r\n\r\n  return newDeck;\r\n\r\n}\r\n\r\nvar deckTwo = mapForEach(deckOne, function(cardItem) {\r\n\r\n  return cardItem * 2;\r\n\r\n});\r\n\r\nconsole.log(deckTwo);\r\n\r\n\/\/ Output:\r\n&#x5B; 2, 4, 6, 8, 10, 12, 14, 16 ]\r\n\r\n<\/pre>\n<p>Yeah there&#8217;s a lot going on at first glance, it seems a little too much for the mind to keep track of what&#8217;s going on. Not to mention &#8211; this is just one tiny example &#8211; in a full blow program you&#8217;ll see an indefinite amount of functions being passed around. <\/p>\n<p>Functional programming alone can be a whole book on its own &#8211; here, I just wanted to provide a simple example, something to get started with. <\/p>\n<p>Let&#8217;s break down the program:<\/p>\n<ul>\n<li>mapForEach &#8211; a function declaration taking two parameters, deckArray and deckFunction<\/li>\n<li>deckArray &#8211; an array data type<\/li>\n<li>deckFunction &#8211; a function data type<\/li>\n<li>newDeck &#8211; an array datatype scoped within the mapForEach() function<\/li>\n<li>cardItem &#8211; an array element passed as an argument<\/li>\n<li>deckTwo &#8211; an array containing the results of envoking the mapForEach function<\/li>\n<\/ul>\n<p>So the question is, why go through all of this. To be honest I haven&#8217;t used a extensive amount of functional programming, however I have used it quite extensively in libraries and frameworks &#8211; some examples are AngularJS, VueJS and jQuery. We pass functions <strong>ALL THE TIME<\/strong>. So in gaining at least a basic understanding of this provides clarity for the programmer &#8211; even a budding programmer. This is an important fundamental concept to keep in mind in your conceptual background. <\/p>\n<p>This is just a basic intro, more examples on Functional Programming to come &#8211; stay tuned.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I haven&#8217;t covered any advanced topics until now &#8211; functional programming in Javascript is an advanced topic in my book. Not only is functional programming an advanced topic, it&#8217;s quite special and specific to the Javascript language. Even a well seasoned developer could get a little frazzled by the concept of functional programming &#8211; especially &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Javascript &#8211; Functional Programming Part 1&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1144,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[],"class_list":["post-503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming-fundamentals"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Javascript - Functional Programming Part 1 - Project Immerse<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Javascript - Functional Programming Part 1 - Project Immerse\" \/>\n<meta property=\"og:description\" content=\"I haven&#8217;t covered any advanced topics until now &#8211; functional programming in Javascript is an advanced topic in my book. Not only is functional programming an advanced topic, it&#8217;s quite special and specific to the Javascript language. Even a well seasoned developer could get a little frazzled by the concept of functional programming &#8211; especially &hellip; Continue reading &quot;Javascript &#8211; Functional Programming Part 1&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Project Immerse\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-03T02:39:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-01T02:14:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alex Mercer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Mercer\" \/>\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:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/\"},\"author\":{\"name\":\"Alex Mercer\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"headline\":\"Javascript &#8211; Functional Programming Part 1\",\"datePublished\":\"2019-03-03T02:39:30+00:00\",\"dateModified\":\"2026-08-01T02:14:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/\"},\"wordCount\":696,\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/functional-programming-javascript-parth-1j.png\",\"articleSection\":[\"Programming Fundamentals\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/\",\"name\":\"Javascript - Functional Programming Part 1 - Project Immerse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/functional-programming-javascript-parth-1j.png\",\"datePublished\":\"2019-03-03T02:39:30+00:00\",\"dateModified\":\"2026-08-01T02:14:03+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/functional-programming-javascript-parth-1j.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/functional-programming-javascript-parth-1j.png\",\"width\":750,\"height\":750,\"caption\":\"Javascript \u2013 Functional Programming Part 1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-functional-programming-part-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Javascript &#8211; Functional Programming Part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\",\"name\":\"Project Immerse\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\",\"name\":\"Alex Mercer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/alex-mercer-author-150x150.png\",\"caption\":\"Alex Mercer\"},\"description\":\"Alex Mercer is a writer and contributor at Project Immerse, covering web design, WordPress, web development, SEO, digital strategy, emerging technology, and the evolving world of the web. His work focuses on practical ideas, useful tools, and approachable guidance that help creators, developers, and business owners build better digital experiences. Alex writes with a hands-on, curiosity-driven approach, exploring both established web practices and new technologies shaping how websites are designed, built, and discovered.\",\"sameAs\":[\"https:\\\/\\\/www.projectimmerse.com\"],\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/author\\\/projectimmerse\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Javascript - Functional Programming Part 1 - Project Immerse","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:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/","og_locale":"en_US","og_type":"article","og_title":"Javascript - Functional Programming Part 1 - Project Immerse","og_description":"I haven&#8217;t covered any advanced topics until now &#8211; functional programming in Javascript is an advanced topic in my book. Not only is functional programming an advanced topic, it&#8217;s quite special and specific to the Javascript language. Even a well seasoned developer could get a little frazzled by the concept of functional programming &#8211; especially &hellip; Continue reading \"Javascript &#8211; Functional Programming Part 1\"","og_url":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/","og_site_name":"Project Immerse","article_published_time":"2019-03-03T02:39:30+00:00","article_modified_time":"2026-08-01T02:14:03+00:00","og_image":[{"width":750,"height":750,"url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png","type":"image\/png"}],"author":"Alex Mercer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alex Mercer","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#article","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/"},"author":{"name":"Alex Mercer","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"headline":"Javascript &#8211; Functional Programming Part 1","datePublished":"2019-03-03T02:39:30+00:00","dateModified":"2026-08-01T02:14:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/"},"wordCount":696,"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png","articleSection":["Programming Fundamentals"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/","url":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/","name":"Javascript - Functional Programming Part 1 - Project Immerse","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#primaryimage"},"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png","datePublished":"2019-03-03T02:39:30+00:00","dateModified":"2026-08-01T02:14:03+00:00","author":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"breadcrumb":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#primaryimage","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2019\/03\/functional-programming-javascript-parth-1j.png","width":750,"height":750,"caption":"Javascript \u2013 Functional Programming Part 1"},{"@type":"BreadcrumbList","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-functional-programming-part-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.projectimmerse.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Javascript &#8211; Functional Programming Part 1"}]},{"@type":"WebSite","@id":"https:\/\/www.projectimmerse.com\/blog\/#website","url":"https:\/\/www.projectimmerse.com\/blog\/","name":"Project Immerse","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.projectimmerse.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5","name":"Alex Mercer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2026\/09\/alex-mercer-author-150x150.png","caption":"Alex Mercer"},"description":"Alex Mercer is a writer and contributor at Project Immerse, covering web design, WordPress, web development, SEO, digital strategy, emerging technology, and the evolving world of the web. His work focuses on practical ideas, useful tools, and approachable guidance that help creators, developers, and business owners build better digital experiences. Alex writes with a hands-on, curiosity-driven approach, exploring both established web practices and new technologies shaping how websites are designed, built, and discovered.","sameAs":["https:\/\/www.projectimmerse.com"],"url":"https:\/\/www.projectimmerse.com\/blog\/author\/projectimmerse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/comments?post=503"}],"version-history":[{"count":4,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/503\/revisions"}],"predecessor-version":[{"id":508,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/503\/revisions\/508"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media\/1144"}],"wp:attachment":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media?parent=503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/categories?post=503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/tags?post=503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}