{"id":2157,"date":"2023-09-21T01:51:31","date_gmt":"2023-09-21T01:51:31","guid":{"rendered":"https:\/\/easycodingschool.com\/?p=2157"},"modified":"2023-09-21T01:51:31","modified_gmt":"2023-09-21T01:51:31","slug":"mastering-typescript-weak-types-a-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/","title":{"rendered":"Mastering TypeScript Weak Types: A Comprehensive Guide"},"content":{"rendered":"<p><strong>&#8220;Weak types&#8221;<\/strong> in TypeScript are types that are more permissive and allow for flexibility in the structure of the data they represent. TypeScript does not have an explicit <strong>&#8220;weak type&#8221;<\/strong> concept, but you can achieve it by several techniques, such as using the any type or the unknown type with type assertions. Let&#8217;s look at some examples of these ideas:<\/p>\n<h3>Using the any type:<\/h3>\n<p>You can use the any type to interact with values of unknown or dynamic types. It effectively disables TypeScript&#8217;s type verification for the variable to which it is applied, turning it into a weak type.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-ts\" data-lang=\"TypeScript\"><code>let weakValue: any = \"This can be anything!\";\r\nweakValue = 42; \/\/ No type error<\/code><\/pre>\n<\/div>\n<p>Any is often avoided since it circumvents TypeScript&#8217;s type verification, making your code less secure. It is advised to use it sparingly and only when absolutely required.<\/p>\n<h3>Using the unknown type with type assertions:<\/h3>\n<p>When you have values of <strong>unknown types<\/strong>, the <strong>unknown type<\/strong> is a safer alternative to <strong>any<\/strong>. Type assertions can be used to notify TypeScript that you know more about the type of a value, effectively weakening its type temporarily.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-ts\" data-lang=\"TypeScript\"><code>let weakValue: unknown = \"This can be anything!\";\r\nconst length = (weakValue as string).length; \/\/ Type assertion<\/code><\/pre>\n<\/div>\n<p>Before using the.length property, we assert that weakValue is a string. This form of safety is superior to any other.<\/p>\n<h3>Using index signatures for weak typing:<\/h3>\n<p>Index signatures can be used to establish weak typing for things whose exact structure is unknown:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-ts\" data-lang=\"TypeScript\"><code>interface WeakObject {\r\n[key: string]: any;\r\n}\r\n\r\nconst weakData: WeakObject = {\r\nname: \"John\",\r\nage: 30,\r\n\/\/ You can add properties of any type without type errors\r\ncustomProperty: { foo: \"bar\" },\r\n};\r\n\r\nconst value = weakData.customProperty; \/\/ No type error<\/code><\/pre>\n<\/div>\n<p>The WeakObject interface in this example has an index signature <strong>[key: string]<\/strong>: <strong>any<\/strong>, which allows you to add attributes of any type to objects of that type.<\/p>\n<p>Please keep in mind that, while these strategies can increase flexibility, they also impair TypeScript&#8217;s ability to detect type-related mistakes at build time. It&#8217;s critical to utilize weak types sparingly and to think about the trade-offs between flexibility and type safety in your codebase. For maintainable and bug-free programming, strong typing is often recommended.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discover the power of TypeScript&#8217;s weak types, which allow you to handle dynamic data structures and boost coding flexibility. We&#8217;ll walk you through best practices for exploiting &#8216;any&#8217; and &#8216;unknown&#8217; types to develop more adaptive code.<\/p>\n","protected":false},"author":1,"featured_media":2159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[87,25,175],"tags":[127,108,126,64,184,182,193,178,197],"class_list":["post-2157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-programming","category-typescript","tag-easy-coding","tag-easy-coding-school","tag-easycoding","tag-easycodingschool","tag-typescript","tag-typescript-basic","tag-typescript-programming","tag-typescript-tutorial","tag-weak-types"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School<\/title>\n<meta name=\"description\" content=\"Discover the power of TypeScript&#039;s weak types, which allow you to handle dynamic data structures and boost coding flexibility. We&#039;ll walk you through best practices for exploiting &#039;any&#039; and &#039;unknown&#039; types to develop more adaptive code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School\" \/>\n<meta property=\"og:description\" content=\"Discover the power of TypeScript&#039;s weak types, which allow you to handle dynamic data structures and boost coding flexibility. We&#039;ll walk you through best practices for exploiting &#039;any&#039; and &#039;unknown&#039; types to develop more adaptive code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Easy Coding School\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-21T01:51:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"660\" \/>\n\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"gauravkumarjha19@gmail.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gauravkumarjha19@gmail.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\"},\"author\":{\"name\":\"gauravkumarjha19@gmail.com\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/9cabe8e90728da7f26676cbd1744558b\"},\"headline\":\"Mastering TypeScript Weak Types: A Comprehensive Guide\",\"datePublished\":\"2023-09-21T01:51:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\"},\"wordCount\":308,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg\",\"keywords\":[\"Easy Coding\",\"Easy Coding School\",\"EasyCoding\",\"EasyCodingSchool\",\"Typescript\",\"typescript basic\",\"Typescript Programming\",\"typescript tutorial\",\"Weak Types\"],\"articleSection\":[\"Development\",\"Programming\",\"TypeScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\",\"url\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\",\"name\":\"Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School\",\"isPartOf\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg\",\"datePublished\":\"2023-09-21T01:51:31+00:00\",\"description\":\"Discover the power of TypeScript's weak types, which allow you to handle dynamic data structures and boost coding flexibility. We'll walk you through best practices for exploiting 'any' and 'unknown' types to develop more adaptive code.\",\"breadcrumb\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage\",\"url\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg\",\"contentUrl\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg\",\"width\":660,\"height\":350,\"caption\":\"Mastering TypeScript Weak Types: A Comprehensive Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/easycodingschool.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mastering TypeScript Weak Types: A Comprehensive Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#website\",\"url\":\"https:\/\/easycodingschool.com\/blog\/\",\"name\":\"Easy Coding School\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/easycodingschool.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#organization\",\"name\":\"Easy Coding School\",\"url\":\"https:\/\/easycodingschool.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/07\/New-Project-10.png\",\"contentUrl\":\"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/07\/New-Project-10.png\",\"width\":310,\"height\":114,\"caption\":\"Easy Coding School \"},\"image\":{\"@id\":\"https:\/\/easycodingschool.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/9cabe8e90728da7f26676cbd1744558b\",\"name\":\"gauravkumarjha19@gmail.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6846a3cc9bd6cb5b779aef260fe379c4b93fa20e1a4c753eb023ff7c08d7c668?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6846a3cc9bd6cb5b779aef260fe379c4b93fa20e1a4c753eb023ff7c08d7c668?s=96&d=mm&r=g\",\"caption\":\"gauravkumarjha19@gmail.com\"},\"sameAs\":[\"https:\/\/easycodingschool.com\/blog\"],\"url\":\"https:\/\/easycodingschool.com\/blog\/author\/gauravkumarjha19gmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School","description":"Discover the power of TypeScript's weak types, which allow you to handle dynamic data structures and boost coding flexibility. We'll walk you through best practices for exploiting 'any' and 'unknown' types to develop more adaptive code.","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:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/","og_locale":"en_US","og_type":"article","og_title":"Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School","og_description":"Discover the power of TypeScript's weak types, which allow you to handle dynamic data structures and boost coding flexibility. We'll walk you through best practices for exploiting 'any' and 'unknown' types to develop more adaptive code.","og_url":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/","og_site_name":"Easy Coding School","article_published_time":"2023-09-21T01:51:31+00:00","og_image":[{"width":660,"height":350,"url":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg","type":"image\/jpeg"}],"author":"gauravkumarjha19@gmail.com","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gauravkumarjha19@gmail.com","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#article","isPartOf":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/"},"author":{"name":"gauravkumarjha19@gmail.com","@id":"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/9cabe8e90728da7f26676cbd1744558b"},"headline":"Mastering TypeScript Weak Types: A Comprehensive Guide","datePublished":"2023-09-21T01:51:31+00:00","mainEntityOfPage":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/"},"wordCount":308,"commentCount":0,"publisher":{"@id":"https:\/\/easycodingschool.com\/blog\/#organization"},"image":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg","keywords":["Easy Coding","Easy Coding School","EasyCoding","EasyCodingSchool","Typescript","typescript basic","Typescript Programming","typescript tutorial","Weak Types"],"articleSection":["Development","Programming","TypeScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/","url":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/","name":"Mastering TypeScript Weak Types: A Comprehensive Guide - Easy Coding School","isPartOf":{"@id":"https:\/\/easycodingschool.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage"},"image":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg","datePublished":"2023-09-21T01:51:31+00:00","description":"Discover the power of TypeScript's weak types, which allow you to handle dynamic data structures and boost coding flexibility. We'll walk you through best practices for exploiting 'any' and 'unknown' types to develop more adaptive code.","breadcrumb":{"@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#primaryimage","url":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg","contentUrl":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/09\/Mastering-TypeScript-Weak-Types_-A-Comprehensive-Guide.jpg","width":660,"height":350,"caption":"Mastering TypeScript Weak Types: A Comprehensive Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/easycodingschool.com\/blog\/mastering-typescript-weak-types-a-comprehensive-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/easycodingschool.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Mastering TypeScript Weak Types: A Comprehensive Guide"}]},{"@type":"WebSite","@id":"https:\/\/easycodingschool.com\/blog\/#website","url":"https:\/\/easycodingschool.com\/blog\/","name":"Easy Coding School","description":"","publisher":{"@id":"https:\/\/easycodingschool.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/easycodingschool.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/easycodingschool.com\/blog\/#organization","name":"Easy Coding School","url":"https:\/\/easycodingschool.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/easycodingschool.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/07\/New-Project-10.png","contentUrl":"https:\/\/easycodingschool.com\/blog\/wp-content\/uploads\/2023\/07\/New-Project-10.png","width":310,"height":114,"caption":"Easy Coding School "},"image":{"@id":"https:\/\/easycodingschool.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/9cabe8e90728da7f26676cbd1744558b","name":"gauravkumarjha19@gmail.com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/easycodingschool.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6846a3cc9bd6cb5b779aef260fe379c4b93fa20e1a4c753eb023ff7c08d7c668?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6846a3cc9bd6cb5b779aef260fe379c4b93fa20e1a4c753eb023ff7c08d7c668?s=96&d=mm&r=g","caption":"gauravkumarjha19@gmail.com"},"sameAs":["https:\/\/easycodingschool.com\/blog"],"url":"https:\/\/easycodingschool.com\/blog\/author\/gauravkumarjha19gmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/posts\/2157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/comments?post=2157"}],"version-history":[{"count":2,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/posts\/2157\/revisions"}],"predecessor-version":[{"id":2160,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/posts\/2157\/revisions\/2160"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/media\/2159"}],"wp:attachment":[{"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/media?parent=2157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/categories?post=2157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/easycodingschool.com\/blog\/wp-json\/wp\/v2\/tags?post=2157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}