{"id":32769,"date":"2019-10-31T21:48:48","date_gmt":"2019-10-31T18:48:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript\/"},"modified":"2019-10-31T21:48:48","modified_gmt":"2019-10-31T18:48:48","slug":"oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript","title":{"rendered":"Oops, am f\u0103cut-o din nou: depanarea gre\u0219elilor comune \u00een JavaScript","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Oops, am f\u0103cut-o din nou: depanarea gre\u0219elilor comune \u00een JavaScript\" src=\"\/wp-content\/uploads\/2019\/04\/1d3b45a6cf245d9f55f5a69c9b477d88.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nScrierea codului JavaScript poate fi uneori dificil\u0103 \u0219i chiar intimidant\u0103, ceea ce este familiar pentru mul\u021bi dezvoltatori. \u00cen procesul de lucru, apar inevitable erori, iar unele dintre acestea se repet\u0103 frecvent. Articolul, destinat dezvoltatorilor \u00eencep\u0103tori, discut\u0103 despre aceste erori \u0219i modalit\u0103\u021bile de a le solu\u021biona. Pentru ilustrarea clar\u0103, numele func\u021biilor, propriet\u0103\u021bilor \u0219i obiectelor sunt preluate din <noindex><a rel=\"nofollow\" href=\"https:\/\/genius.com\/Britney-spears-lucky-lyrics\">o melodie popular\u0103<\/a><\/noindex>. Toate acestea ajut\u0103 la memorarea rapid\u0103 a modului de corectare a celor mai comune erori. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<blockquote><p><b>V\u0103 reamintim:<\/b> <i>pentru to\u021bi cititorii \u201eHabr\u201d \u2014 reducere de 10.000 de ruble la \u00eenscrierea la orice curs Skillbox cu codul de promovare \u201eHabr\u201d.<\/i><\/p>\n<p><b>Skillbox recomand\u0103:<\/b> Curs practic <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/agima\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=AGIMA&amp;utm_content=articles&amp;utm_term=oops\">\u00abDezvoltator mobil PRO\u00bb<\/a><\/noindex>.\n<\/p><\/blockquote>\n<p><\/p>\n<h3>TypeError: proprietate nedefinit\u0103<\/h3>\n<p><\/p>\n<pre><code class=\"javascript\">let girl = {\n    name: \"Lucky\",\n    location: \"Hollywood\",\n    profession: \"star\",\n    thingsMissingInHerLife: true,\n    lovely: true,\n    cry: function() {\n        return \"cry, cry, cries in her lonely heart\"\n    }\n}\nconsole.log(girl.named.lucky)<\/code><\/pre>\n<p>\nExemplul de cod men\u021bionat mai sus genereaz\u0103 eroarea Uncaught TypeError: Cannot read property \u2018lucky\u2019 of undefined. Problema const\u0103 \u00een faptul c\u0103 obiectul girl nu are proprietatea named, de\u0219i exist\u0103 proprietatea name. \u0218i, deoarece proprietatea girl.named nu este definit\u0103, nu se poate accesa, deoarece formal nu exist\u0103. \u00cens\u0103, dac\u0103 \u00eenlocui\u021bi girl.named.lucky cu girl.name, totul va func\u021biona \u0219i programul va returna Lucky.<\/p>\n<p>Mai multe informa\u021bii despre propriet\u0103\u021bi pot fi <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Guide\/Working_with_Objects\">citite aici<\/a><\/noindex>.<\/p>\n<h3>Modalit\u0103\u021bi de eliminare a erorilor TypeError<\/h3>\n<p>\nErorile TypeError apar atunci c\u00e2nd programatorul \u00eencearc\u0103 s\u0103 efectueze ac\u021biuni asupra datelor care nu corespund unui anumit tip. De exemplu, pentru a aplica .bold(), a solicita o proprietate undefined sau a apela o func\u021bie care, de fapt, nu este o func\u021bie.<\/p>\n<p>A\u0219adar, dac\u0103 \u00eencerca\u021bi s\u0103 apela\u021bi girl(), ve\u021bi primi eroarea Uncaught TypeError: yourVariable.bold is not a function \u0219i girl is not a function, deoarece de fapt obiectul este apelat, nu func\u021bia.<\/p>\n<p>Pentru a elimina erorile, trebuie studiate variabilele. Ce este, a\u0219adar, girl? \u0218i ce este girl.named? Acestea pot fi identificate analiz\u00e2nd codul, afi\u0219\u00e2nd variabile cu ajutorul console.log, comenzii debugger sau apel\u00e2nd numele variabilei \u00een consol\u0103. Trebuie s\u0103 v\u0103 asigura\u021bi c\u0103 ave\u021bi posibilitatea de a opera cu tipul de date con\u021binut \u00een variabil\u0103. Dac\u0103 acesta nu este adecvat, schimba\u021bi-l, de exemplu, ad\u0103ug\u00e2nd o condi\u021bie sau un bloc try..catch - \u0219i ob\u021bine\u021bi control asupra execu\u021biei opera\u021biei.<\/p>\n<h3>Supra\u00eenc\u0103rcarea stivei<\/h3>\n<p>\nDac\u0103 ne baz\u0103m pe autorii melodiei Baby One More Time (da, e vorba de Britney Spears), cuv\u00e2ntul hit \u00een acest context \u00eenseamn\u0103 dorin\u021ba c\u00e2nt\u0103re\u021bei de a primi un telefon din nou (acesta este un context explicativ, nota traduc\u0103torului). Este posibil ca aceast\u0103 dorin\u021b\u0103 s\u0103 duc\u0103 la o cre\u0219tere a apelurilor \u00een via\u021ba real\u0103. Dar \u00een programare, aceasta este recursivitate, capabil\u0103 s\u0103 provoace o eroare \u00een cazul suprasarcinii stivei de apeluri.<\/p>\n<p>Erorile arat\u0103 \u00een felul urm\u0103tor:<\/p>\n<p><i>Error: Out of stack space (Edge)<br \/>\nInternalError: too much recursion (Firefox)<br \/>\nRangeError: Maximum call stack size exceeded (Chrome)<br \/>\n <\/i><br \/>\nSuprasarcina stivei apare dac\u0103 dezvoltatorul nu a luat \u00een considerare cazul de baz\u0103 \u00een recursie sau dac\u0103 codul nu abordeaz\u0103 cazul prev\u0103zut.<\/p>\n<pre><code class=\"javascript\">function oneMoreTime(stillBelieve=true, loneliness=0) {\n    if (!stillBelieve &amp;&amp; loneliness &lt; 0) return\n    loneliness++\n    return oneMoreTime(stillBelieve, loneliness)\n}<\/code><\/pre>\n<p>\n\u00cen acest caz, stillBelieve nu poate lua niciodat\u0103 valoarea false, astfel c\u0103 va avea loc constant apelul oneMoreTime, dar executarea func\u021biei nu se va \u00eencheia.<\/p>\n<p>Dac\u0103 \u00eencepem s\u0103 ne baz\u0103m pe doi prieteni, aceasta va reduce loneliness (singur\u0103tatea), iar apelul nu va mai fi a\u0219teptat.<\/p>\n<pre><code class=\"javascript\">function oneMoreTime(stillBelieve=true, loneliness=0) {\n    if (!stillBelieve &amp;&amp; loneliness &lt; 0) return\n    loneliness--\n    stillBelieve = false\n    return oneMoreTime(stillBelieve, loneliness)\n}<\/code><\/pre>\n<p>\nUn exemplu ar fi cazurile cu bucle infinite, c\u00e2nd sistemul nu returneaz\u0103 un mesaj de eroare, iar pagina pe care se execut\u0103 codul JavaScript pur \u0219i simplu se blocheaz\u0103. Aceasta se \u00eent\u00e2mpl\u0103 dac\u0103 bucla while nu are o condi\u021bie de terminare.<\/p>\n<pre><code class=\"javascript\">let worldEnded = false\n \nwhile (worldEnded !== true) {\n  console.log(\"Keep on dancin' till the world ends\")\n}<\/code><\/pre>\n<p>\nProblema poate fi rezolvat\u0103 astfel:<\/p>\n<pre><code class=\"javascript\">let worldEnded = false\n \nwhile (worldEnded !== true) {\n  console.log(\"Keep on dancin' till the world ends\")\n  worldEnded = true\n}<\/code><\/pre>\n<p><\/p>\n<h3>Debbuging buclelor infinite \u0219i recursiilor<\/h3>\n<p>\nDac\u0103 a ap\u0103rut o problem\u0103 cu o bucl\u0103 infinit\u0103, \u00een Chrome sau Edge trebuie s\u0103 \u00eenchide\u021bi tab-ul, iar \u00een Firefox \u2013 fereastra browser-ului. Dup\u0103 aceasta, trebuie s\u0103 analiza\u021bi cu aten\u021bie codul. Dac\u0103 nu a\u021bi reu\u0219it s\u0103 g\u0103si\u021bi problema, merit\u0103 s\u0103 ad\u0103uga\u021bi comanda debugger \u00een bucl\u0103 sau func\u021bie \u0219i s\u0103 verifica\u021bi valoarea variabilelor. Dac\u0103 rezultatul nu corespunde a\u0219tept\u0103rilor, acesta poate fi \u00eenlocuit, ceea ce se poate face u\u0219or.<\/p>\n<p>\u00cen exemplul men\u021bionat mai sus, debuggerul ar trebui ad\u0103ugat ca prima linie a func\u021biei sau a buclei. Apoi trebuie s\u0103 deschide\u021bi tab-ul de debug \u00een Chrome, analiz\u00e2nd variabilele din scope. Folosind butonul next, pute\u021bi urm\u0103ri modific\u0103rile acestora la fiecare itera\u021bie. Este simplu de realizat, iar \u00een cele mai multe cazuri, problema este identificat\u0103.<\/p>\n<p>Mai multe detalii despre toate acestea pot fi citite aici (<noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/web\/tools\/chrome-devtools\/javascript\/\">pentru Chrome<\/a><\/noindex>) \u0219i aici (<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Tools\/Debugger\">pentru Firefox<\/a><\/noindex>).<\/p>\n<h3>Eroare de sintax\u0103<\/h3>\n<p>\nUna dintre cele mai comune erori \u00een JavaScript este SyntaxError. Evitarea acestora poate fi ajutat\u0103 de extensiile editorului de text. De exemplu, Bracket Pair Colorizer marcheaz\u0103 parantezele din cod cu culori diferite, iar Prettier sau un instrument de analiz\u0103 similar permite g\u0103sirea rapid\u0103 a erorilor. Cea mai bun\u0103 op\u021biune pentru a reduce probabilitatea apari\u021biei SyntaxError este o ad\u00e2ncire minim\u0103.<\/p>\n<p>\u00cemp\u0103rt\u0103\u0219i\u021bi \u00een comentarii: ce face\u021bi pentru a evita erorile sau pentru a le descoperi \u0219i elimina rapid?<\/p>\n<blockquote><p><b>Skillbox recomand\u0103:<\/b><\/p>\n<ul>\n<li>Curs practic de doi ani <noindex><a rel=\"nofollow\" href=\"https:\/\/iamwebdev.skillbox.ru\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=WEBDEVPRO&amp;utm_content=articles&amp;utm_term=oops\">\u201eSunt un dezvoltator web PRO\u201d<\/a><\/noindex>.<\/li>\n<li>Curs online <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/c-sharp\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=CSHDEV&amp;utm_content=articles&amp;utm_term=oops\">\u201eDezvoltator C# cu 0\u201d<\/a><\/noindex>.<\/li>\n<li>Curs practic anual <noindex><a rel=\"nofollow\" href=\"https:\/\/skillbox.ru\/php\/?utm_source=skillbox.media&amp;utm_medium=habr.com&amp;utm_campaign=PHPDEV&amp;utm_content=articles&amp;utm_term=oops\">\u00abDezvoltator PHP de la 0 la PRO\u00bb<\/a><\/noindex>.\n<\/li>\n<\/ul>\n<\/blockquote>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillbox\/blog\/450194\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 JavaScript \u0434\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u043e, \u0430 \u0438\u043d\u043e\u0433\u0434\u0430 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0443\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u043d\u0430\u043a\u043e\u043c\u043e \u043c\u043d\u043e\u0433\u0438\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u0440\u0438\u0447\u0435\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u0435\u043d\u044c\u043a\u043e. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431 \u044d\u0442\u0438\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0441\u0432\u043e\u0439\u0441\u0442\u0432 \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0432\u0437\u044f\u0442\u044b \u0438\u0437 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u043f\u0435\u0441\u043d\u0438. \u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24548,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-32769","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Oops, I did it again: \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 JavaScript | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:48:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:48:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Oops, am f\u0103cut-o din nou: depanarea erorilor comune \u00een JavaScript | ProHoster","description":"Uneori scrierea codului.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Oops, I did it again: \u043e\u0442\u043b\u0430\u0434\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 JavaScript | ProHoster","og:description":"\u041f\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/oops-i-did-it-again-otladka-rasprostranennyh-oshibok-v-javascript","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:48:48+00:00","article:modified_time":"2019-10-31T18:48:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32769","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 12:28:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:52:26","updated":"2026-01-21 12:28:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/32769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=32769"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/32769\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/24548"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=32769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=32769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=32769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}