<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Azamjon Abdullayev</title><generator>teletype.in</generator><description><![CDATA[I'm Front-End Engineer ]]></description><image><url>https://img2.teletype.in/files/1c/e0/1ce0a237-6251-4cef-99a1-dac292d55aec.png</url><title>Azamjon Abdullayev</title><link>https://teletype.in/@azamjonbro</link></image><link>https://teletype.in/@azamjonbro?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=azamjonbro</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/azamjonbro?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/azamjonbro?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Mon, 08 Jun 2026 13:01:54 GMT</pubDate><lastBuildDate>Mon, 08 Jun 2026 13:01:54 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@azamjonbro/bqOZm4Ai-Kf</guid><link>https://teletype.in/@azamjonbro/bqOZm4Ai-Kf?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=azamjonbro</link><comments>https://teletype.in/@azamjonbro/bqOZm4Ai-Kf?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=azamjonbro#comments</comments><dc:creator>azamjonbro</dc:creator><title>JavaScript asoslari</title><pubDate>Tue, 15 Apr 2025 21:42:47 GMT</pubDate><description><![CDATA[Hozirgi kunga kelib barcha browserlar uchun eng optimal (dynamic) til bolib qolgan js tarixi va uning ichiga birma bir kirib boramiz :)]]></description><content:encoded><![CDATA[
  <p id="t70N">Hozirgi kunga kelib barcha browserlar uchun eng optimal (dynamic) til bolib qolgan js tarixi va uning ichiga birma bir kirib boramiz :)<br /><br /></p>
  <h3 id="xErj"><strong>JavaScript (JS)</strong> – bu:</h3>
  <ul id="7yeT">
    <li id="U0bE"><strong>High-level</strong> (yuqori darajadagi) dasturlash tili.</li>
    <li id="x3Hj"><strong>Dinamik tipga ega</strong> – <code>var a = 5;</code> → <code>a</code> har qanday turdagi qiymatga aylanishi mumkin.</li>
    <li id="g8Xp"><strong>Interpreted</strong> (tushuntiriluvchi) til — ammo zamonaviy brauzerlar uni <strong>JIT (Just-In-Time)</strong> orqali kompilyatsiya qiladi.</li>
    <li id="CSES"><strong>Single-threaded</strong> – bitta ipda ishlaydi, lekin <strong>asinxronlikni</strong> (callback, promise, async/await) qo‘llab-quvvatlaydi.<br /><br /><br /></li>
  </ul>
  <h2 id="GQqK"><strong> JavaScript tarixi (pot-kapot tarixi) :</strong></h2>
  <h3 id="rJZm"> 1995 – Brendan Eich Netscape brauzeri uchun 10 kunda JS&#x27;ni yaratdi.</h3>
  <ul id="2u7t">
    <li id="dj4Q">Dastlab nomi <strong>Mocha</strong>, keyin <strong>LiveScript</strong>, so‘ngra <strong>JavaScript</strong> bo‘ldi (Java’ga hech aloqasi yo‘q – bu marketing uchun bo‘lgan).</li>
    <li id="xGJx">Internetning interaktiv bo‘lishi uchun yaratilgan.</li>
  </ul>
  <h3 id="teoL"> 1997 – JS standarti <strong>ECMAScript</strong> (ES) nomi ostida paydo bo‘ldi.</h3>
  <ul id="aWCT">
    <li id="PN9S">ES3 – 1999</li>
    <li id="gsLJ">ES5 – 2009 (strict mode)</li>
    <li id="JZDN">ES6 / ES2015 – 2015 (let/const, arrow functions, classes, promises, modules)</li>
  </ul>
  <h3 id="Nyiq"> Hozirgi JS:</h3>
  <ul id="dD1U">
    <li id="jIPK"><strong>Node.js</strong> orqali serverda ishlaydi.</li>
    <li id="wYU3"><strong>Electron, React Native</strong> orqali desktop va mobil ilovalar yaratiladi.</li>
    <li id="2o7W"><strong>Typescript</strong> – JS ustiga typed qatlam.</li>
  </ul>
  <h2 id="bqCP"><strong>JS qanday ishlaydi?</strong></h2>
  <h3 id="rSJu"> <strong>High-level</strong> tilda yozilgan kod <strong>brauzer yoki Node.js</strong> orqali quyidagicha ishlaydi:</h3>
  <ol id="aHqt">
    <li id="zApi"><strong>Parsing</strong>: Kodni AST (Abstract Syntax Tree) ga aylantiradi.</li>
    <li id="3YEN"><strong>Compilation</strong>: V8 (Google) yoki boshqa engine uni <strong>JIT</strong> (Just-in-time) orqali mashina kodga o‘giradi.</li>
    <li id="vtSU"><strong>Execution</strong>: Mashina kodi ishlaydi.</li>
  </ol>
  <h3 id="pTa4"> JS Engine misol:</h3>
  <ul id="MnNd">
    <li id="8gaP">Chrome: <strong>V8</strong></li>
    <li id="OBPv">Firefox: <strong>SpiderMonkey</strong></li>
    <li id="wxu2">Safari: <strong>JavaScriptCore</strong></li>
  </ul>
  <h2 id="cY7s"><strong>Compilation va Interpretation</strong></h2>
  <ul id="ZQVY">
    <li id="4np1"><strong>Compiler</strong> – butun kodni oldindan mashina tiliga aylantiradi.</li>
    <li id="WQj2"><strong>Interpreter</strong> – kodni qatorma-qator bajaradi.</li>
  </ul>
  <p id="MLBe"><strong>JS</strong>:</p>
  <ul id="CrvX">
    <li id="jPAM">Ilgari faqat <strong>interpreter</strong> edi.</li>
    <li id="zpCM">Hozir <strong>V8 engine</strong> orqali <strong>JIT compiler</strong> ishlaydi:</li>
    <ul id="5Tsp">
      <li id="mr6D">Tez-tez ishlatiladigan kodni mashina kodga aylantiradi va kechiktirmasdan bajaradi.<br /><br /><br /></li>
    </ul>
  </ul>
  <h2 id="WZmJ"><strong>Event Loop, Call Stack, Microtask vs Macrotask</strong></h2>
  <h3 id="myqQ"> <strong>Call Stack</strong>:</h3>
  <ul id="x3ns">
    <li id="cu3P">Har bir funksiyaning bajarilishi bu yerga qo‘shiladi va bajarilgach chiqariladi.</li>
  </ul>
  <h3 id="DH15"> <strong>Event Loop</strong>:</h3>
  <ul id="LAKa">
    <li id="56UN"><code>Call Stack</code> bo‘sh bo‘lsa, <code>Task Queue</code>dan ish olib kiradi.</li>
  </ul>
  <h3 id="GlLj"> <strong>Macrotask Queue</strong>:</h3>
  <ul id="mNrn">
    <li id="whC0">setTimeout</li>
    <li id="omI4">setInterval</li>
    <li id="Q59k">setImmediate (Node.js)</li>
    <li id="g45H">I/O callbacks</li>
  </ul>
  <h3 id="TOzi"> <strong>Microtask Queue</strong>:</h3>
  <ul id="JIfk">
    <li id="5Vtn">Promises (<code>.then</code>, <code>async/await</code>)</li>
    <li id="H0nI">MutationObserver</li>
    <li id="WCnL">QueueMicrotask</li>
  </ul>
  <blockquote id="joXT"><strong>Microtasks</strong> har doim <strong>Macrotasks</strong>dan oldin bajariladi.</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <pre id="k56G" data-lang="jsx">console.log(&#x27;1&#x27;);</pre>
    <pre id="HIgq" data-lang="jsx">setTimeout(() =&gt; {
  console.log(&#x27;2&#x27;);
}, 0);</pre>
    <pre id="TjMZ" data-lang="jsx">Promise.resolve().then(() =&gt; {
  console.log(&#x27;3&#x27;);
});</pre>
    <pre id="olaz" data-lang="jsx">console.log(&#x27;4&#x27;);
</pre>
  </section>
  <pre id="D7K2" data-lang="jsx">
1
4
3  &lt;— microtask
2  &lt;— macrotask
</pre>
  <h2 id="bpWE">Xulosa</h2>
  <p id="vmLg">JS:</p>
  <ul id="q6zf">
    <li id="ISwD">High-level, dynamic, interpreted → hozirda JIT compiled.</li>
    <li id="sUZg">Single-threaded lekin event loop yordamida asinxron.</li>
    <li id="lBl5">Tarixan brauzerlar uchun yaratilgan, hozir esa universal tilga aylangan.</li>
    <li id="UjU6">Microtask &amp; Macrotask tizimi orqali noaniq kechikishlarni boshqaradi.</li>
  </ul>

]]></content:encoded></item></channel></rss>