---
title: "#javascript articles | Hashnode"
description: "JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions"
url: "https://hashnode.com/tag/javascript"
---

Tag

# #javascript

68,908 posts · 317,326 followers

[ZyVOP](https://hashnode.com/@zyvop) · [22m ago](https://hashnode.com/posts/how-async-await-really-works-from-syntax-sugar-to-state-machines-zclcn/6af93990dd79e5910bf7aee0)

### [How async/await Really Works: From Syntax Sugar to State Machines](https://blog.zyvop.com/how-async-await-really-works-from-syntax-sugar-to-state-machines-zclcn?utm_source=hashnode&utm_medium=feed)

Explore how JavaScript transforms async/await into resumable state machines using Promises, microtasks, and the event loop.

14 min read · [blog.zyvop.com](https://blog.zyvop.com/how-async-await-really-works-from-syntax-sugar-to-state-machines-zclcn?utm_source=hashnode&utm_medium=feed)

[Jonie Rangel](https://hashnode.com/@vetorgames) · [1h ago](https://hashnode.com/posts/designing-a-branching-boss-encounter-combat-vs-real-time-negotiation-against-voldrak-in-v-e-t-o-r-a-ruptura/6af92df7d034523bfaf446be)

### [Designing a Branching Boss Encounter: Combat vs. Real-Time Negotiation Against Voldrak in V.E.T.O.R — A Ruptura](https://vetorgames.hashnode.dev/designing-a-branching-boss-encounter-combat-vs-real-time-negotiation-against-voldrak-in-v-e-t-o-r-a-ruptura?utm_source=hashnode&utm_medium=feed)

In most action-RPG boss encounters, talking to an enemy is a pre-fight cutscene. In V.E.T.O.R — A Ruptura, we wanted dialogue and combat to share the same live state machine. Watch the full unscripted

2 min read · [vetorgames.hashnode.dev](https://vetorgames.hashnode.dev/designing-a-branching-boss-encounter-combat-vs-real-time-negotiation-against-voldrak-in-v-e-t-o-r-a-ruptura?utm_source=hashnode&utm_medium=feed)

[bowen Tse](https://hashnode.com/@bowentse) · [2h ago](https://hashnode.com/posts/a-cup-is-not-a-cup-why-volume-units-need-a-locale/6af922b412bfa1e35dd183f5)

### [A Cup Is Not a Cup: Why Volume Units Need a Locale](https://toolkitloop.hashnode.dev/a-cup-is-not-a-cup-why-volume-units-need-a-locale?utm_source=hashnode&utm_medium=feed)

A US cup, a metric cup, and an Imperial pint are three different volumes — so a converter that ignores locale is wrong before it starts.

5 min read · [toolkitloop.hashnode.dev](https://toolkitloop.hashnode.dev/a-cup-is-not-a-cup-why-volume-units-need-a-locale?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/a-cup-is-not-a-cup-why-volume-units-need-a-locale/6af922b412bfa1e35dd183f5)

[Kevin Xiao](https://hashnode.com/@kevinxiao) · [2h ago](https://hashnode.com/posts/german-excel-csv-breaks-your-react-importer-semicolons-decimal-commas-and-quoted-line-breaks/6af91d0994302a6bfb3ae333)

### [German Excel CSV breaks your React importer: semicolons, decimal commas, and quoted line breaks](https://kevinxiao.hashnode.dev/german-excel-csv-breaks-your-react-importer-semicolons-decimal-commas-and-quoted-line-breaks?utm_source=hashnode&utm_medium=feed)

Originally published on DEV. A first CSV import often looks like this: const text = await file.text(); const rows = text.trim().split('\\n').map((line) => line.split(',')); It works on the Google Shee

7 min read · [kevinxiao.hashnode.dev](https://kevinxiao.hashnode.dev/german-excel-csv-breaks-your-react-importer-semicolons-decimal-commas-and-quoted-line-breaks?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/german-excel-csv-breaks-your-react-importer-semicolons-decimal-commas-and-quoted-line-breaks/6af91d0994302a6bfb3ae333)

[Jitsumi](https://hashnode.com/@jitsumi) · [3h ago](https://hashnode.com/posts/urlsearchparams-stop-double-encoding-query-values/6af911a41263d2818eb4da06)

### [URLSearchParams: Stop Encoding Your Query Values Twice](https://jitsumi.hashnode.dev/urlsearchparams-stop-double-encoding-query-values?utm_source=hashnode&utm_medium=feed)

Build JavaScript query strings without double encoding. Learn how raw values, plus signs and repeated parameters behave, with round-trip tests.

5 min read · [jitsumi.hashnode.dev](https://jitsumi.hashnode.dev/urlsearchparams-stop-double-encoding-query-values?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/urlsearchparams-stop-double-encoding-query-values/6af911a41263d2818eb4da06)

[VEILVM](https://hashnode.com/@veilvm) · [3h ago](https://hashnode.com/posts/disable-right-click-and-devtools-detection-are-not-javascript-protection/6af907b2f9e49d55d628722a)

### [Disable right-click and DevTools detection are not JavaScript protection](https://veilvm.hashnode.dev/disable-right-click-and-devtools-detection-are-not-javascript-protection?utm_source=hashnode&utm_medium=feed)

Right-click blockers, Ctrl+U traps, and DevTools detection annoy honest users and do not hide your JavaScript. The file is already on the network. This article explains the usual bypasses and what actually raises the cost of copying client code.

5 min read · [veilvm.hashnode.dev](https://veilvm.hashnode.dev/disable-right-click-and-devtools-detection-are-not-javascript-protection?utm_source=hashnode&utm_medium=feed)

[Jonie Rangel](https://hashnode.com/@vetorgames) · [10h ago](https://hashnode.com/posts/how-we-implemented-7-language-live-voice-acting-inside-an-html5-canvas-indie-game-v-e-t-o-r-a-ruptura/6af8ad274912a81cff60526b)

### [How We Implemented 7-Language Live Voice Acting Inside an HTML5 Canvas Indie Game (V.E.T.O.R — A Ruptura)](https://vetorgames.hashnode.dev/how-we-implemented-7-language-live-voice-acting-inside-an-html5-canvas-indie-game-v-e-t-o-r-a-ruptura?utm_source=hashnode&utm_medium=feed)

Localization in indie games usually means translating menus and static subtitle files. While developing V.E.T.O.R — A Ruptura, a Brazilian PC/Windows action-adventure running on a custom HTML5 Canvas

2 min read · [vetorgames.hashnode.dev](https://vetorgames.hashnode.dev/how-we-implemented-7-language-live-voice-acting-inside-an-html5-canvas-indie-game-v-e-t-o-r-a-ruptura?utm_source=hashnode&utm_medium=feed)

[Ant Games](https://hashnode.com/@antgamesai) · [4h ago](https://hashnode.com/posts/a-xiangqi-chinese-chess-engine-in-one-html-file-move-generation-perpetual-check-and-an-ai-in-a-web-worker/6af8f9e688a91564c8203148)

### [A xiangqi (Chinese chess) engine in one HTML file: move generation, perpetual check and an AI in a Web Worker](https://antgamesai.hashnode.dev/a-xiangqi-chinese-chess-engine-in-one-html-file-move-generation-perpetual-check-and-an-ai-in-a-web-worker?utm_source=hashnode&utm_medium=feed)

How a browser xiangqi engine generates moves, rules perpetual check and stalemate, and plays from a Web Worker. Our own project.

13 min read · [antgamesai.hashnode.dev](https://antgamesai.hashnode.dev/a-xiangqi-chinese-chess-engine-in-one-html-file-move-generation-perpetual-check-and-an-ai-in-a-web-worker?utm_source=hashnode&utm_medium=feed)

[B. Vignesh](https://hashnode.com/@bvignesh) · [11h ago](https://hashnode.com/posts/honest-sitemap-lastmod-dates/6af89bccd3b9e50603f1d6a2)

### [Honest sitemap dates: fix lastmod with git history or a content hash](https://vturnu.hashnode.dev/honest-sitemap-lastmod-dates?utm_source=hashnode&utm_medium=feed)

Most generators stamp every URL with the build time, and search engines learn to ignore it. Three small Node.js scripts to check and fix yours.

12 min read · [vturnu.hashnode.dev](https://vturnu.hashnode.dev/honest-sitemap-lastmod-dates?utm_source=hashnode&utm_medium=feed)

[Sitey](https://hashnode.com/@siteypk) · [8h ago](https://hashnode.com/posts/one-game-fifteen-midnights-working-out-when-gta-6-unlocks-on-every-clock/6af8c9c0a3679595e3daadff)

### [One game, fifteen midnights: working out when GTA 6 unlocks on every clock](https://siteypk.hashnode.dev/one-game-fifteen-midnights-working-out-when-gta-6-unlocks-on-every-clock?utm_source=hashnode&utm_medium=feed)

Originally published on DEV. GTA 6 comes out on 19 November 2026. That sentence hides fifteen different moments. Console games unlock at midnight, but whose midnight? Rockstar's support page answers i

4 min read · [siteypk.hashnode.dev](https://siteypk.hashnode.dev/one-game-fifteen-midnights-working-out-when-gta-6-unlocks-on-every-clock?utm_source=hashnode&utm_medium=feed)
