{"id":242,"date":"2018-08-22T06:50:49","date_gmt":"2018-08-22T06:50:49","guid":{"rendered":"http:\/\/www.projectimmerse.com\/?p=242"},"modified":"2020-06-17T09:28:22","modified_gmt":"2020-06-17T09:28:22","slug":"javascript-fundamentals","status":"publish","type":"post","link":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/","title":{"rendered":"Javascript Fundamentals"},"content":{"rendered":"<p>Whoa that title, yeah it made me cringe a little don&#8217;t ask me why. Perhaps it&#8217;s because I&#8217;ve seen it over countless times but I couldn&#8217;t think of a better title. I was gonna go with &#8220;Vanilla Javascript&#8221; but we all know that deserves it&#8217;s own space. <\/p>\n<p>Javascript fundamentals is like going back in time, sort of like when the earth was formed. Were not going to get into the details of lexical environments or function scope or objects, well maybe a little on objects. Were going to just simply define a few javascript constructs. <\/p>\n<p><!--more--><\/p>\n<h2>To start we can start creating variables<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ we can only use letters ,digits, _, \r\n\/\/ and $ for variables, can't start with a digit though\r\n\r\nvar createVariable = 'I am a variable';\r\n\r\nvar _underscoreVariable = 'we can use underscores';\r\n\r\nvar $_dollarSignVariable = 'even dollar signs';\r\n\r\n<\/pre>\n<h2>Cool let&#8217;s, moving on to if statements<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nvar checkDataType = 0;\r\n\r\nif (checkDataType) {\r\n\r\n  console.log('true');\r\n\r\n} else {\r\n\r\n  console.log('false');\r\n\r\n}\r\n\r\n<\/pre>\n<p>Yeah you would think the above if statement would output &#8216;true&#8217;, but it would actually output &#8216;false&#8217;. I wanted to throw a curve ball here since most beginners miss this one. If you&#8217;re wondering what&#8217;s going on, javascript actually treats 0 as false. <\/p>\n<h2>Loops<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ let's sample an array\r\nvar arraySample = &#x5B;1, 2, 3, 4, 5];\r\n\r\n\/\/ output its length \r\nconsole.log(arraySample.length);\r\n\r\n\/\/ okay cool, let's loop through it.\r\nfor (var i = 0; i &lt; arraySample.length; i++) {\r\n   console.log(arraySample&#x5B;i]);\r\n}\r\n\r\n<\/pre>\n<p>You&#8217;ll get the following output. Were iterating through the array from 1 to 5. <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.projectimmerse.com\/wp-content\/uploads\/2018\/08\/javascript-for-loop.png\" alt=\"Javascript For Loop\" width=\"756\" height=\"288\" class=\"aligncenter size-full wp-image-244\" srcset=\"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-for-loop.png 756w, https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-for-loop-300x114.png 300w, https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-for-loop-80x30.png 80w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/p>\n<p>There&#8217;s also an alternative method for doing the same thing. We&#8217;ll sprinkle in some new concepts while were at it. <\/p>\n<h2>forEach() method<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\n\/\/ let's sample an array\r\n\r\nconst arraySample = &#x5B;2, 24, 6];\r\nconst arrayCopy = &#x5B;];\r\n\r\narraySample.forEach(function(sample){\r\n  arrayCopy.push(sample*sample);\r\n});\r\n\r\n\/\/ the output should be &#x5B;4, 576, 36]\r\n\r\n<\/pre>\n<p>Ok so I&#8217;ve introduced the const keyword &#8211; it&#8217;s like a variable except just like the keyword suggests we want to treat it like a constant, something that doesn&#8217;t change &#8211; this is good practice. That&#8217;s exactly what were doing here, we aren&#8217;t modifying the original array. Were taking the numbers from it though, manipulating it and then &#8220;pushing&#8221; it into that empty array. [], denotes an empty array. And push is a built in javascript method, attached to Array objects. Yeah it beginning to sound really complicated but it&#8217;s not. <\/p>\n<h2>Ok now, the for..in method<\/h2>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\r\nvar emptyString = &quot;&quot;;\r\nvar numberObjects = {a: 1, b: 2, c: 3};\r\n\r\nfor (var numberProperty in numberObjects) {\r\n  emptyString = emptyString + numberObjects&#x5B;numberProperty];\r\n}\r\n\r\nconsole.log(emptyString);\r\n\/\/ expected output: &quot;123&quot;\r\n\r\n\r\n<\/pre>\n<p>I did something extra here &#8211; introduced the concept of javascript objects and at the same time sprinkled it with a little data type coercion trick. Let&#8217;s first pay attention to the for..in construct, we are basically looping through the numberObjects object. With this method we are treating each item in the object as properties, that&#8217;s why I called it numberProperty. Whoa this is getting confusing. I did way too much at once here. Yeah there is also some concatenation going on. When you see the &#8220;+&#8221; sign, it get&#8217;s a little ambiguous. Just one of the countless reasons Javascript is such a wild beast of a language. <\/p>\n<p>In this post we covered some key fundamentals<\/p>\n<ul>\n<li>Creating variables<\/li>\n<li>If statements<\/li>\n<li>A little bit about data types<\/li>\n<li>For, for..in, foreach() methods for looping through data<\/li>\n<\/ul>\n<p>They don&#8217;t call it fundamentals for nothing and they don&#8217;t call Javascript, Javascript Land for no reason. I&#8217;ll be revisiting more Javascript Fundamentals in the posts to come. Maybe even provide the same concepts covered here but in a different way. If you really want to tame this wild beast you will have to do the same things over and over again till it gets you and you get IT. yeah, it&#8217;s like that. So stay tuned.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Whoa that title, yeah it made me cringe a little don&#8217;t ask me why. Perhaps it&#8217;s because I&#8217;ve seen it over countless times but I couldn&#8217;t think of a better title. I was gonna go with &#8220;Vanilla Javascript&#8221; but we all know that deserves it&#8217;s own space. Javascript fundamentals is like going back in time, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Javascript Fundamentals&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1164,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Javascript Fundamentals - 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-fundamentals\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Javascript Fundamentals - Project Immerse\" \/>\n<meta property=\"og:description\" content=\"Whoa that title, yeah it made me cringe a little don&#8217;t ask me why. Perhaps it&#8217;s because I&#8217;ve seen it over countless times but I couldn&#8217;t think of a better title. I was gonna go with &#8220;Vanilla Javascript&#8221; but we all know that deserves it&#8217;s own space. Javascript fundamentals is like going back in time, &hellip; Continue reading &quot;Javascript Fundamentals&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/\" \/>\n<meta property=\"og:site_name\" content=\"Project Immerse\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-22T06:50:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-17T09:28:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.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=\"projectimmerse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"projectimmerse\" \/>\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-fundamentals\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/\"},\"author\":{\"name\":\"projectimmerse\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"headline\":\"Javascript Fundamentals\",\"datePublished\":\"2018-08-22T06:50:49+00:00\",\"dateModified\":\"2020-06-17T09:28:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/\"},\"wordCount\":653,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/javascript-fundamentals.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/\",\"name\":\"Javascript Fundamentals - Project Immerse\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/javascript-fundamentals.png\",\"datePublished\":\"2018-08-22T06:50:49+00:00\",\"dateModified\":\"2020-06-17T09:28:22+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/#\\\/schema\\\/person\\\/c53f2864be524ee6fa08a7e4800dd1e5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/javascript-fundamentals.png\",\"contentUrl\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/08\\\/javascript-fundamentals.png\",\"width\":750,\"height\":750,\"caption\":\"Javascript Fundamentals\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/javascript-fundamentals\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Javascript Fundamentals\"}]},{\"@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\":\"projectimmerse\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g\",\"caption\":\"projectimmerse\"},\"url\":\"https:\\\/\\\/www.projectimmerse.com\\\/blog\\\/author\\\/projectimmerse\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Javascript Fundamentals - 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-fundamentals\/","og_locale":"en_US","og_type":"article","og_title":"Javascript Fundamentals - Project Immerse","og_description":"Whoa that title, yeah it made me cringe a little don&#8217;t ask me why. Perhaps it&#8217;s because I&#8217;ve seen it over countless times but I couldn&#8217;t think of a better title. I was gonna go with &#8220;Vanilla Javascript&#8221; but we all know that deserves it&#8217;s own space. Javascript fundamentals is like going back in time, &hellip; Continue reading \"Javascript Fundamentals\"","og_url":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/","og_site_name":"Project Immerse","article_published_time":"2018-08-22T06:50:49+00:00","article_modified_time":"2020-06-17T09:28:22+00:00","og_image":[{"width":750,"height":750,"url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.png","type":"image\/png"}],"author":"projectimmerse","twitter_card":"summary_large_image","twitter_misc":{"Written by":"projectimmerse","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#article","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/"},"author":{"name":"projectimmerse","@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"headline":"Javascript Fundamentals","datePublished":"2018-08-22T06:50:49+00:00","dateModified":"2020-06-17T09:28:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/"},"wordCount":653,"commentCount":0,"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/","url":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/","name":"Javascript Fundamentals - Project Immerse","isPartOf":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#primaryimage"},"image":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#primaryimage"},"thumbnailUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.png","datePublished":"2018-08-22T06:50:49+00:00","dateModified":"2020-06-17T09:28:22+00:00","author":{"@id":"https:\/\/www.projectimmerse.com\/blog\/#\/schema\/person\/c53f2864be524ee6fa08a7e4800dd1e5"},"breadcrumb":{"@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#primaryimage","url":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.png","contentUrl":"https:\/\/www.projectimmerse.com\/blog\/wp-content\/uploads\/2018\/08\/javascript-fundamentals.png","width":750,"height":750,"caption":"Javascript Fundamentals"},{"@type":"BreadcrumbList","@id":"https:\/\/www.projectimmerse.com\/blog\/javascript-fundamentals\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.projectimmerse.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Javascript Fundamentals"}]},{"@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":"projectimmerse","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4d06955033d6227bfdcf30014e457e4334f7deeb73907de49b65ec2484921931?s=96&d=mm&r=g","caption":"projectimmerse"},"url":"https:\/\/www.projectimmerse.com\/blog\/author\/projectimmerse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/242","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=242"}],"version-history":[{"count":11,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/242\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/posts\/242\/revisions\/456"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media\/1164"}],"wp:attachment":[{"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/media?parent=242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/categories?post=242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.projectimmerse.com\/blog\/wp-json\/wp\/v2\/tags?post=242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}