{"id":2376,"date":"2024-08-27T16:04:40","date_gmt":"2024-08-27T15:04:40","guid":{"rendered":"https:\/\/codeflarelimited.com\/blog\/?p=2376"},"modified":"2024-08-27T16:33:43","modified_gmt":"2024-08-27T15:33:43","slug":"javascript-proxies","status":"publish","type":"post","link":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/","title":{"rendered":"JavaScript Proxies: Enhancing Object Behavior"},"content":{"rendered":"\n<p>JavaScript Proxies offer a powerful way to customize the behavior of objects, making them a valuable tool for developers who need fine-grained control over how objects interact with code. Proxies allow you to intercept and redefine fundamental operations on objects, such as property access, assignment, and function invocation. This article will explore how JavaScript Proxies work, their practical use cases, and how they can enhance object behavior in your applications.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Understanding JavaScript Proxies<\/h3>\n\n\n\n<p>In JavaScript, a Proxy is an object that wraps around another object, known as the target, and intercepts operations performed on it. A handler object, containing traps, defines these operations. Traps are functions that customize the behavior of fundamental operations on the target object.<\/p>\n\n\n\n<p>Here\u2019s a basic example of a Proxy:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const target = {\n  message: \"Hello, World!\"\n};\n\nconst handler = {\n  get: function(target, property) {\n    return property in target ? target[property] : \"Property does not exist\";\n  }\n};\n\nconst proxy = new Proxy(target, handler);\n\nconsole.log(proxy.message); \/\/ Output: \"Hello, World!\"\nconsole.log(proxy.nonExistentProperty); \/\/ Output: \"Property does not exist\"\n<\/code><\/pre>\n\n\n\n<p>In this example, the <code>get<\/code> trap intercepts the property access on the <code>target<\/code> object. If the property exists, it returns its value; otherwise, it returns a default message.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Practical Use Cases for Proxies<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Data Validation<\/strong>: Proxies can enforce rules when setting properties on an object, making them ideal for data validation. You can intercept the <code>set<\/code> operation to ensure that values meet certain criteria before being assigned.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const handler = {\n  set: function(target, property, value) {\n    if (property === 'age' &amp;&amp; typeof value !== 'number') {\n      throw new TypeError(\"Age must be a number\");\n    }\n    target[property] = value;\n    return true;\n  }\n};\n<\/code><\/pre>\n\n\n\n<p>2. <strong>Logging and Debugging<\/strong>: You can use Proxies to log operations performed on an object, making it easier to debug complex applications.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const handler = {\n  get: function(target, property) {\n    console.log(`Property '${property}' was accessed`);\n    return target[property];\n  }\n};\n<\/code><\/pre>\n\n\n\n<p>3. <strong>Revocable Proxies<\/strong>: JavaScript also supports revocable Proxies, which allow you to create a Proxy that can be disabled when no longer needed. This is useful in scenarios where you want temporary control over an object\u2019s behavior.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">const {proxy, revoke} = Proxy.revocable(target, handler);\nrevoke(); \/\/ Disables the proxy\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Virtualization<\/strong>: Proxies enable the creation of virtual objects that mimic real ones.. This is useful in scenarios like mocking objects for testing or creating objects that dynamically load data.<\/li>\n\n\n\n<li><strong>Default Values<\/strong>: Similar to the example above, Proxies can provide default values for properties that do not exist on an object, making them useful for creating flexible APIs.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancing Object Behavior with Proxies<\/h3>\n\n\n\n<p>By using JavaScript Proxies, you can create objects that behave differently based on the needs of your application. Whether you need to validate data, log operations, or create dynamic objects, Proxies offer a flexible and powerful way to enhance the behavior of objects in JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>JavaScript Proxies are a versatile feature that allows you to customize and control the behavior of objects in your applications. Moreover, by understanding how to use Proxies effectively, you can solve complex problems, enforce rules, and create more dynamic, responsive code. Whether you&#8217;re building a small tool or a large-scale application, Proxies can therefore play a crucial role in enhancing the behavior and reliability of your JavaScript objects.<\/p>\n\n\n\n<p><a href=\"https:\/\/codeflarelimited.com\/blog\/javascript-generators-for-iteration-control\/\">JavaScript Generators for iteration control<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript Proxies offer a powerful way to customize the behavior of objects, making them a valuable tool for<\/p>\n","protected":false},"author":3,"featured_media":2379,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[11],"tags":[99],"class_list":["post-2376","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-software-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>JavaScript Proxies<\/title>\n<meta name=\"description\" content=\"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JavaScript Proxies\" \/>\n<meta property=\"og:description\" content=\"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-27T15:04:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-27T15:33:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kene Samuel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/\"},\"author\":{\"name\":\"Kene Samuel\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#\\\/schema\\\/person\\\/c501609bab46c16807eb32106074f206\"},\"headline\":\"JavaScript Proxies: Enhancing Object Behavior\",\"datePublished\":\"2024-08-27T15:04:40+00:00\",\"dateModified\":\"2024-08-27T15:33:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/\"},\"wordCount\":433,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/IMG-20240827-WA0002.jpg\",\"keywords\":[\"software development\"],\"articleSection\":[\"javascript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/\",\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/\",\"name\":\"JavaScript Proxies\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/IMG-20240827-WA0002.jpg\",\"datePublished\":\"2024-08-27T15:04:40+00:00\",\"dateModified\":\"2024-08-27T15:33:43+00:00\",\"description\":\"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#primaryimage\",\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/IMG-20240827-WA0002.jpg\",\"contentUrl\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/IMG-20240827-WA0002.jpg\",\"width\":1120,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript-proxies\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"javascript\",\"item\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/javascript\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JavaScript Proxies: Enhancing Object Behavior\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/\",\"name\":\"\",\"description\":\"Sustainable solutions\",\"publisher\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#organization\",\"name\":\"Codeflare Limited\",\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/codeflare.png\",\"contentUrl\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/codeflare.png\",\"width\":1040,\"height\":263,\"caption\":\"Codeflare Limited\"},\"image\":{\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/#\\\/schema\\\/person\\\/c501609bab46c16807eb32106074f206\",\"name\":\"Kene Samuel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g\",\"caption\":\"Kene Samuel\"},\"url\":\"https:\\\/\\\/codeflarelimited.com\\\/blog\\\/author\\\/kene\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JavaScript Proxies","description":"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects","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:\/\/codeflarelimited.com\/blog\/javascript-proxies\/","og_locale":"en_US","og_type":"article","og_title":"JavaScript Proxies","og_description":"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects","og_url":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/","article_published_time":"2024-08-27T15:04:40+00:00","article_modified_time":"2024-08-27T15:33:43+00:00","og_image":[{"width":1120,"height":630,"url":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","type":"image\/jpeg"}],"author":"Kene Samuel","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#article","isPartOf":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/"},"author":{"name":"Kene Samuel","@id":"https:\/\/codeflarelimited.com\/blog\/#\/schema\/person\/c501609bab46c16807eb32106074f206"},"headline":"JavaScript Proxies: Enhancing Object Behavior","datePublished":"2024-08-27T15:04:40+00:00","dateModified":"2024-08-27T15:33:43+00:00","mainEntityOfPage":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/"},"wordCount":433,"commentCount":0,"publisher":{"@id":"https:\/\/codeflarelimited.com\/blog\/#organization"},"image":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#primaryimage"},"thumbnailUrl":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","keywords":["software development"],"articleSection":["javascript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/","url":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/","name":"JavaScript Proxies","isPartOf":{"@id":"https:\/\/codeflarelimited.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#primaryimage"},"image":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#primaryimage"},"thumbnailUrl":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","datePublished":"2024-08-27T15:04:40+00:00","dateModified":"2024-08-27T15:33:43+00:00","description":"Explore JavaScript Proxies to customize object behavior and enhance application functionality. Learn how to use Proxies for advanced control in your JavaScript projects","breadcrumb":{"@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#primaryimage","url":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","contentUrl":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","width":1120,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/codeflarelimited.com\/blog\/javascript-proxies\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codeflarelimited.com\/blog\/"},{"@type":"ListItem","position":2,"name":"javascript","item":"https:\/\/codeflarelimited.com\/blog\/javascript\/"},{"@type":"ListItem","position":3,"name":"JavaScript Proxies: Enhancing Object Behavior"}]},{"@type":"WebSite","@id":"https:\/\/codeflarelimited.com\/blog\/#website","url":"https:\/\/codeflarelimited.com\/blog\/","name":"","description":"Sustainable solutions","publisher":{"@id":"https:\/\/codeflarelimited.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codeflarelimited.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/codeflarelimited.com\/blog\/#organization","name":"Codeflare Limited","url":"https:\/\/codeflarelimited.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codeflarelimited.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2020\/11\/codeflare.png","contentUrl":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2020\/11\/codeflare.png","width":1040,"height":263,"caption":"Codeflare Limited"},"image":{"@id":"https:\/\/codeflarelimited.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/codeflarelimited.com\/blog\/#\/schema\/person\/c501609bab46c16807eb32106074f206","name":"Kene Samuel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e1716cd715a5b5491e1f2da373b52f2f73aeb37d268baff34719116e386d848?s=96&d=mm&r=g","caption":"Kene Samuel"},"url":"https:\/\/codeflarelimited.com\/blog\/author\/kene\/"}]}},"jetpack_featured_media_url":"https:\/\/codeflarelimited.com\/blog\/wp-content\/uploads\/2024\/08\/IMG-20240827-WA0002.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/posts\/2376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/comments?post=2376"}],"version-history":[{"count":1,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/posts\/2376\/revisions"}],"predecessor-version":[{"id":2377,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/posts\/2376\/revisions\/2377"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/media\/2379"}],"wp:attachment":[{"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/media?parent=2376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/categories?post=2376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codeflarelimited.com\/blog\/wp-json\/wp\/v2\/tags?post=2376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}