<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JavaScript on Nalar</title>
    <link>https://nalar.dev/id/tags/javascript/</link>
    <description>Recent content in JavaScript on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Wed, 23 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/javascript/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Origin-Agent-Cluster Memisahkan Heap JavaScript Berbasis Origin</title>
      <link>https://nalar.dev/id/origin-agent-cluster-memisahkan-heap-javascript-berbasis-origin/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/origin-agent-cluster-memisahkan-heap-javascript-berbasis-origin/</guid>
      <description>&lt;h1 id=&#34;origin-agent-cluster-memisahkan-heap-javascript-berbasis-origin&#34;&gt;Origin-Agent-Cluster Memisahkan Heap JavaScript Berbasis Origin&lt;/h1&gt;&#xA;&lt;p&gt;Origin web yang berada dalam satu site tetap dapat menjadi principal keamanan yang berbeda. &lt;code&gt;app.example.com&lt;/code&gt; dan &lt;code&gt;admin.example.com&lt;/code&gt;, misalnya, memiliki origin berbeda meskipun keduanya berada di bawah registrable domain yang sama. Arsitektur proses browser secara historis dapat menempatkan origin terkait dalam agent cluster yang sama pada kondisi tertentu, sehingga lingkungan eksekusi JavaScript mereka lebih berdekatan daripada yang tersirat dari model berbasis origin saja.&lt;/p&gt;&#xA;&lt;p&gt;Header response &lt;code&gt;Origin-Agent-Cluster&lt;/code&gt; memberi dokumen cara untuk meminta clustering berbasis origin:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Axios GET Menggunakan Satu Config Object untuk Params dan Headers</title>
      <link>https://nalar.dev/id/axios-get-satu-config-object-untuk-params-dan-headers/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/axios-get-satu-config-object-untuk-params-dan-headers/</guid>
      <description>&lt;p&gt;axios.get() menerima URL request dan satu configuration object opsional. Query parameter dan HTTP header bukan argumen posisi yang terpisah; keduanya merupakan properti dari configuration object tersebut.&lt;/p&gt;&#xA;&lt;p&gt;Batas ini penting karena kode yang memperlakukan params dan headers sebagai dua config argument terpisah dapat menjadi JavaScript yang tidak valid atau menaruh konfigurasi di posisi yang tidak dibaca Axios.&lt;/p&gt;&#xA;&lt;h2 id=&#34;method-get-memiliki-satu-batas-config&#34;&gt;Method GET memiliki satu batas config&lt;/h2&gt;&#xA;&lt;p&gt;Bentuk pemanggilannya adalah:&lt;/p&gt;&#xA;&lt;div&#xA;  x-data=&#34;{ code: $el.querySelector(&#39;code&#39;).innerText, copied: false }&#34;&#xA;  class=&#34;code-block group relative my-6 overflow-hidden rounded-xl border border-line bg-surface-muted dark:border-night-line dark:bg-night-surface&#34;&gt;&#xA;  &lt;button&#xA;    type=&#34;button&#34;&#xA;    @click=&#34;navigator.clipboard.writeText(code); copied = true; setTimeout(() =&gt; copied = false, 1600)&#34;&#xA;    class=&#34;absolute right-3 top-3 z-10 rounded-lg border border-line-strong bg-surface px-2 py-1 font-mono text-[0.8rem] text-muted opacity-0 transition group-hover:opacity-100 hover:bg-ink hover:text-white dark:border-night-line dark:bg-night dark:text-night-muted dark:hover:bg-white dark:hover:text-ink&#34;&gt;&#xA;    &lt;span x-text=&#34;copied ? &#39;Copied&#39; : &#39;Copy&#39;&#34;&gt;&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;  &#xA;  &lt;div class=&#34;overflow-x-auto p-4 text-sm leading-6 [&amp;_pre]:!m-0 [&amp;_pre]:!bg-transparent [&amp;_pre]:!p-0 [&amp;_code]:font-mono&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;axios.get(url, config)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Request configuration dapat memuat beberapa kebutuhan sekaligus:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cara Node.js Menentukan Format Modul .mjs, .cjs, dan .js</title>
      <link>https://nalar.dev/id/nodejs-menentukan-format-modul-mjs-cjs-js/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/nodejs-menentukan-format-modul-mjs-cjs-js/</guid>
      <description>&lt;p&gt;Node.js dapat menjalankan JavaScript melalui dua sistem modul: ECMAScript modules (ESM) dan CommonJS. Nama file menjadi salah satu sinyal yang menentukan sistem mana yang dipakai. Itu sebabnya file seperti &lt;code&gt;postcss.config.mjs&lt;/code&gt; sering muncul di project meskipun sebagian besar source file tetap menggunakan ekstensi &lt;code&gt;.js&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Hal yang penting: &lt;code&gt;.mjs&lt;/code&gt; bukan bahasa JavaScript yang berbeda. Ekstensi ini merupakan instruksi eksplisit kepada Node.js untuk mem-parse dan memuat file sebagai ES module.&lt;/p&gt;&#xA;&lt;h2 id=&#34;mjs-dan-cjs-adalah-penanda-modul-eksplisit&#34;&gt;.mjs dan .cjs adalah penanda modul eksplisit&lt;/h2&gt;&#xA;&lt;p&gt;Node.js memperlakukan dua ekstensi ini tanpa ambiguitas:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Container Markdown sebagai DSL UI Ringan</title>
      <link>https://nalar.dev/id/container-markdown-sebagai-dsl-ui-ringan/</link>
      <pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/container-markdown-sebagai-dsl-ui-ringan/</guid>
      <description>&lt;p&gt;File konten tidak membutuhkan component tree hanya untuk menyatakan bahwa satu region adalah hero, callout, card, atau gallery. Ekstensi kecil pada Markdown dapat membawa maksud tersebut, sementara heading, paragraph, link, dan list tetap ditulis sebagai Markdown biasa.&lt;/p&gt;&#xA;&lt;p&gt;Dengan &lt;code&gt;markdown-it-container&lt;/code&gt;, sintaks yang dilihat penulis dapat dibuat sesingkat:&lt;/p&gt;&#xA;&lt;div&#xA;  x-data=&#34;{ code: $el.querySelector(&#39;code&#39;).innerText, copied: false }&#34;&#xA;  class=&#34;code-block group relative my-6 overflow-hidden rounded-xl border border-line bg-surface-muted dark:border-night-line dark:bg-night-surface&#34;&gt;&#xA;  &lt;button&#xA;    type=&#34;button&#34;&#xA;    @click=&#34;navigator.clipboard.writeText(code); copied = true; setTimeout(() =&gt; copied = false, 1600)&#34;&#xA;    class=&#34;absolute right-3 top-3 z-10 rounded-lg border border-line-strong bg-surface px-2 py-1 font-mono text-[0.8rem] text-muted opacity-0 transition group-hover:opacity-100 hover:bg-ink hover:text-white dark:border-night-line dark:bg-night dark:text-night-muted dark:hover:bg-white dark:hover:text-ink&#34;&gt;&#xA;    &lt;span x-text=&#34;copied ? &#39;Copied&#39; : &#39;Copy&#39;&#34;&gt;&lt;/span&gt;&#xA;  &lt;/button&gt;&#xA;  &#xA;  &lt;div class=&#34;overflow-x-auto p-4 text-sm leading-6 [&amp;_pre]:!m-0 [&amp;_pre]:!bg-transparent [&amp;_pre]:!p-0 [&amp;_code]:font-mono&#34;&gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::hero&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;# Ship the next release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;font-weight:bold&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;A short description stays normal Markdown.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:::&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Struktur ini sudah cukup untuk membentuk DSL UI ringan: &lt;code&gt;hero&lt;/code&gt; memiliki arti yang ditentukan aplikasi, sedangkan konten di dalamnya tetap diproses oleh parser Markdown. Batas yang berguna justru sempit. Ketika format mulai membuka row, column, nilai padding, class CSS, event handler, dan component nesting yang dalam, file konten tidak lagi terasa seperti konten. Ia berubah menjadi source code dengan notasi lain.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
