{"id":494447,"date":"2022-09-20T03:48:39","date_gmt":"2022-09-20T00:48:39","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/"},"modified":"2022-09-20T03:48:39","modified_gmt":"2022-09-20T00:48:39","slug":"what-microsofts-es-type-syntax-proposal-means-for-javascript","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/","title":{"rendered":"#What Microsoft\u2019s ES Type Syntax Proposal Means For JavaScript"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a35a36f5bbde\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a35a36f5bbde\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#%E2%80%9CWhat_Microsofts_ES_Type_Syntax_Proposal_Means_For_JavaScript%E2%80%9D\" >&#8220;What Microsoft\u2019s ES Type Syntax Proposal Means For JavaScript&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#The_Syntax\" >The Syntax<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#What_Isnt_The_Proposal\" >What Isn\u2019t The Proposal?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#Whats_The_Point\" >What\u2019s The Point?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#What_Should_Types_Actually_Do\" >What Should Types Actually Do?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#The_Existing_Alternative_Docblocks\" >The Existing Alternative: Docblocks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/#Whats_Next\" >What\u2019s Next?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CWhat_Microsofts_ES_Type_Syntax_Proposal_Means_For_JavaScript%E2%80%9D\"><\/span>&#8220;What Microsoft\u2019s ES Type Syntax Proposal Means For JavaScript&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<div>\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage aligncenter size-full wp-image-9816\" data-pagespeed-no-defer=\"\" src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/csit\/2021\/02\/c123ee3a.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Illustration showing the JavaScript logo\" width=\"1602\" height=\"902\"\/><\/p>\n<p>Java<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">Script<\/a> could soon have its own type syntax if a proposal <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=htg\/800724|xid:{xid}&amp;murl=https%3A%2F%2Fdevblogs.microsoft.com%2Ftypescript%2Fa-proposal-for-type-syntax-in-javascript&amp;___trxnet=ls\">submitted by Microsoft<\/a> and other developers earlier this year becomes a part of the ECMAScript standard. The initiative plans to add \u201ctypes as comments\u201d support to the JavaScript language, letting developers annotate code with type information that\u2019ll be used by other ecosystem components.<\/p>\n<h2 id=\"the-syntax\"><span class=\"ez-toc-section\" id=\"The_Syntax\"><\/span>The Syntax<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The proposed syntax looks like this:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"javascript\">\n<pre class=\"de1\"><span class=\"kw1\">function<\/span> sayAge<span class=\"br0\">(<\/span>name<span class=\"sy0\">:<\/span> string<span class=\"sy0\">,<\/span> age<span class=\"sy0\">:<\/span> number<span class=\"br0\">)<\/span> <span class=\"br0\">{<\/span>\n    console.<span class=\"me1\">log<\/span><span class=\"br0\">(<\/span>`$<span class=\"br0\">{<\/span>name<span class=\"br0\">}<\/span> is $<span class=\"br0\">{<\/span>age<span class=\"br0\">}<\/span> years old.`<span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">}<\/span>\n\u00a0\nsayAge<span class=\"br0\">(<\/span><span class=\"st0\">\"JavaScript\"<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">26<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>It\u2019ll be familiar to anyone who\u2019s previously used <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.cloudsavvyit.com\/?p=15898\">TypeScript<\/a>, Microsoft\u2019s typed superset of JavaScript. TypeScript has gained widespread adoption across the industry; this new proposal purports to bring some of its benefits to the wider JavaScript world.<\/p>\n<h2 id=\"what-isnt-the-proposal\"><span class=\"ez-toc-section\" id=\"What_Isnt_The_Proposal\"><\/span>What Isn\u2019t The Proposal?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If it gets approved, this proposal will let you write perfectly valid JavaScript with the type annotations shown above. It\u2019ll be accepted by JavaScript runtimes such as web browsers, Node.js, and Deno that respect the ES standard.<\/p>\n<p>The proposal doesn\u2019t actually extend the JavaScript language though. Your type annotations will be exactly that: inert metadata that have no effect on the JavaScript compiler or your code\u2019s runtime. A function call such as the following would work at runtime:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"javascript\">\n<pre class=\"de1\"><span class=\"kw1\">function<\/span> sayAge<span class=\"br0\">(<\/span>name<span class=\"sy0\">:<\/span> string<span class=\"sy0\">,<\/span> age<span class=\"sy0\">:<\/span> number<span class=\"br0\">)<\/span> <span class=\"br0\">{<\/span>\n    console.<span class=\"me1\">log<\/span><span class=\"br0\">(<\/span>`$<span class=\"br0\">{<\/span>name<span class=\"br0\">}<\/span> is $<span class=\"br0\">{<\/span>age<span class=\"br0\">}<\/span> years old.`<span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">}<\/span>\n\u00a0\n<span class=\"co1\">\/\/ \"age\" is a string when it should be a number, but this is still allowed<\/span>\nsayAge<span class=\"br0\">(<\/span><span class=\"st0\">\"JavaScript\"<\/span><span class=\"sy0\">,<\/span> <span class=\"st0\">\"twenty\"<\/span><span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The idea is to offer a new type syntax that\u2019s officially supported but completely ignored by engines. The only change for implementations concerns recognizing and s<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/trip-and-travel\/\" data-internallinksmanager029f6b8e52c=\"10\" title=\"Trip &amp; Travel\" target=\"_blank\" rel=\"noopener\">trip<\/a>ping out type annotations wherever they\u2019re used.<\/p>\n<p>The proposal would seek to establish support annotating the types of parameters, variables, and class properties. It\u2019d also look at adding an <code>interface<\/code> keyword, assertion operators like <code>!<\/code> and <code>as<\/code>, and a <code>?<\/code> modifier to mark types as optional. The intention is for all these elements to mirror TypeScript; as with any Stage 0 proposal, the final outcome may work differently though.<\/p>\n<h2 id=\"whats-the-point\"><span class=\"ez-toc-section\" id=\"Whats_The_Point\"><\/span>What\u2019s The Point?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If type annotations won\u2019t change your program, the obvious question is whether they\u2019re worth having. The proposal argues \u201cyes\u201d because of the syntax\u2019s ability to shorten iteration times and reduce the burden around modern JavaScript toolchains.<\/p>\n<p>Writing type-safe code currently requires you to use TypeScript, a different language flavor that adds dependencies to your project and necessitates a manual compilation step. That code may then pass through other tools such as a module bundler and transpiler before your final JavaScript is produced for distribution. It adds up to a complex toolchain with multiple moving parts.<\/p>\n<p>Although JavaScript is an inherently loosely typed language, the benefits of strong typing are now broadly recognized by the community. This much is evident from the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#most-popular-technologies-language-prof\">momentum surrounding<\/a> the TypeScript project. Static typing was also the clear leader in the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/2021.stateofjs.com\/en-US\/opinions\/#currently_missing_from_js_wins\">2021 State of JS<\/a> survey\u2019s \u201cmissing feature\u201d question.<\/p>\n<p>Adding a type syntax to JavaScript itself would let you get some of the benefits of TypeScript without having to compile your code. This simplifies project set up and maintenance while evolving JavaScript to better align with modern development practices.<\/p>\n<p>Over the past several years, more code has begun to migrate back towards a \u201cpure JavaScript\u201d approach. The decline of legacy browsers makes transpilation less necessary than it once was \u2013 the majority of modern implementations <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/caniuse.com\/?search=javascript\">offer full support<\/a> for features like classes, arrow functions, block-scoped variables, and <code>async<\/code>\/<code>await<\/code>. JavaScript\u2019s even got a fully-fledged module system that works across engines, including in browsers.<\/p>\n<p>Only a few years ago a lengthy toolchain was <em>required<\/em> to be able to write these features into your code with confidence it would work on users\u2019 devices. Nowadays developers can safely put those build processes aside, returning to the original JavaScript model of referencing files with <code>&lt;script&gt;<\/code> tags.<\/p>\n<p>Types are one of the few remaining areas of the JavaScript ecosystem that aren\u2019t accommodated by the language itself. Love them or hate them, there\u2019s no denying that types have become an integral part of JavaScript development for many teams and projects. The syntax proposal formally recognizes this fact. It attempts to bring a degree of type support to JavaScript without breaking existing code or enforcing performance-hitting runtime type checks.<\/p>\n<h2 id=\"what-should-types-actually-do\"><span class=\"ez-toc-section\" id=\"What_Should_Types_Actually_Do\"><\/span>What Should Types Actually Do?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The role of a \u201ctype\u201d varies between languages. The common demoninator lies in a type\u2019s ability to express the type of data a particular variable will hold. Additional meanings, capabilities, and behaviors are then layered on that foundation.<\/p>\n<p>In statically typed compiled languages like C# and Java, types are enforced at compilation time. It\u2019s impossible to compile a program when you\u2019ve got type incompatibilities in your code. In interpreted languages with optional strong typing, of which PHP is an example, types are enforced at runtime \u2013 the program throws an error when a value\u2019s type is incompatible with the context in which it\u2019s used.<\/p>\n<p>An active debate within the JavaScript community has been how far any built-in type system\u2019s remit should extend. This proposal limits its role to the most foundational element, a simple documentation of a value\u2019s expected type. This aligns well with TypeScript\u2019s position as an erasable type syntax that\u2019s ignored at runtime.<\/p>\n<p>The purpose of this model is to give developers instant feedback about potential bugs as they write code. You could get information about type issues as you write regular JavaScript in a compatible IDE. If you wanted to, you could also use a supporting tool such as TypeScript, a static analyzer, or a bundler to audit your source on-demand. This could block a deployment in your CI pipelines when a type issue is present.<\/p>\n<p>The current feeling is that these capabilities are sufficient to align JavaScript with the most common developer needs. Features found in other languages such as introspection and reflection are not commonly needed within the JavaScript ecosystem, in part because developers have become used to TypeScript\u2019s erasure approach.<\/p>\n<h2 id=\"the-existing-alternative-docblocks\"><span class=\"ez-toc-section\" id=\"The_Existing_Alternative_Docblocks\"><\/span>The Existing Alternative: Docblocks<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>It\u2019s worth noting that something similar to the proposed erased annotations syntax already exists: familiar JSDoc tags are commonly used to add type details to plain JavaScript code:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"javascript\">\n<pre class=\"de1\"><span class=\"coMULTI\">\/**\n * @param name {string}\n * @param age {number}\n *\/<\/span>\n<span class=\"kw1\">function<\/span> sayAge<span class=\"br0\">(<\/span>name<span class=\"sy0\">,<\/span> age<span class=\"br0\">)<\/span> <span class=\"br0\">{<\/span>\n    console.<span class=\"me1\">log<\/span><span class=\"br0\">(<\/span>`$<span class=\"br0\">{<\/span>name<span class=\"br0\">}<\/span> is $<span class=\"br0\">{<\/span>age<span class=\"br0\">}<\/span> years old.`<span class=\"br0\">)<\/span><span class=\"sy0\">;<\/span>\n<span class=\"br0\">}<\/span><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>JSDoc comments are supported by various popular tools. However, they\u2019re not a standardized part of the language and they require you to mix details of your code\u2019s operation \u2013 its expected types \u2013 with the human-centric documentation comprising the rest of the docblock.<\/p>\n<p>JSDoc\u2019s syntax is also very verbose. Besides the required tag names, it typically requires repetition of elements already existing in your code, such as the parameter names in the example above. If you modify a parameter in the function\u2019s signature, you must remember to change the JSDoc tag too.<\/p>\n<p>The new syntax proposal may be functionally equivalent to docblocks but it offers a much more streamlined experience. Types sit alongside their targets as part of your source, instead of in a docblock that you need to separately author and maintain.<\/p>\n<h2 id=\"whats-next\"><span class=\"ez-toc-section\" id=\"Whats_Next\"><\/span>What\u2019s Next?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Microsoft\u2019s TypeScript team and co-authors including Bloomberg, Igwalia, and several independent contributors submitted <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/giltayar\/proposal-types-as-comments\">the Stage 0 proposal<\/a> in the March 2022 TC39 plenary. The proposal has since progressed into Stage 1. Acceptance is still some way off though, with implementation inside engines potentially not arriving\u00a0<a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=htg\/800724|xid:{xid}&amp;murl=https%3A%2F%2Fdevblogs.microsoft.com%2Ftypescript%2Fa-proposal-for-type-syntax-in-javascript&amp;___trxnet=ls\">for \u201cyears.\u201d<\/a><\/p>\n<p>The overarching objective of this proposal is to balance JavaScript\u2019s long tail of untyped code with the current demand for a more statically typed development experience. The use of an erased fully optional syntax guarantees backwards compatibility but raises the prospect that it\u2019ll be ineffective at encouraging adoption and consolidating the ecosystem. The debate around this one looks set to grow with new opinions and perspectives as the proposal progresses through the standards track.<\/p>\n<\/div>\n<p><script>\n setTimeout(function(){\n  !function(f,b,e,v,n,t,s)\n  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n  n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n  n.queue=[];t=b.createElement(e);t.async=!0;\n  t.src=v;s=b.getElementsByTagName(e)[0];\n  s.parentNode.insertBefore(t,s) } (window, document,'script',\n  'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\n   fbq('init', '335401813750447');\n   fbq('track', 'PageView');\n  },3000);\n<\/script><\/p>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.howtogeek.com\/devops\/what-microsofts-es-type-syntax-proposal-means-for-javascript\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;What Microsoft\u2019s ES Type Syntax Proposal Means For JavaScript&#8221; JavaScript could soon have its own type syntax if a proposal submitted by Microsoft and other developers earlier this year becomes a part of the ECMAScript standard. The initiative plans to add \u201ctypes as comments\u201d support to the JavaScript language, letting developers annotate code with type&#8230;<\/p>\n","protected":false},"author":1,"featured_media":494448,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.howtogeek.com\/wp-content\/uploads\/csit\/2021\/02\/c123ee3a.jpg?height=200p&trim=2,2,2,2","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-494447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/494447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=494447"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/494447\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/494448"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=494447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=494447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=494447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}