# Javascript Practices

> JS/TS conventions for syntax, modules, and types. Use when writing or reviewing JavaScript/TypeScript code. Use when this capability is needed.

- Skill: `tomevault-io/javascript-practices` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/javascript-practices`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/javascript-practices/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/javascript-practices

---


# JavaScript/TypeScript Practices

Conventions for JS/TS syntax, modules, types, and runtime behavior.

## Quick Start

```typescript
import * as path from "@std/path"; // namespace import
import { utils } from "./utils.ts"; // explicit extension

export function buildConfig() {} // direct named export
const port = config.port ?? 8000; // nullish coalescing
```

## Key Principles

**Modules:** Direct named exports, namespace imports, explicit `.ts` extensions

**Syntax:** `const` over `let`, always semicolons, `===` strict equality, `??`
over `||`

**Types:** `Number()` over `+`, `instanceof` over `typeof`, prefer `null` over
`undefined`

**Runtime:** `import.meta.dirname`, `globalThis` over `window`, optional
`projectRoot` params

**Async:** Use `return await` consistently for better stack traces and correct
error handling

**Avoid:** `eval`, prototype mutation, truthy/falsy checks on non-booleans

## References

See [rules.md](references/rules.md) for complete guidelines with examples.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/eser) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

