# JavaScript
JavaScript (JS) is a high-level, interpreted programming language that powers interactive web pages and is now used for server-side development, mobile apps, and more. Created by [[Brendan Eich]] at Netscape in 1995 (in just 10 days), it has become one of the most widely used programming languages.
Despite the name, JavaScript is unrelated to Java—the name was a marketing decision to capitalize on Java's popularity at the time.
## Key Characteristics
- **Dynamic typing**: Types determined at runtime
- **First-class functions**: Functions are values
- **Prototype-based**: Object inheritance via prototypes
- **Event-driven**: Asynchronous, non-blocking I/O
- **Multi-paradigm**: OOP, functional, imperative
## Where JavaScript Runs
- **Browser**: DOM manipulation, user interactions
- **Server**: [[Node.js]], Deno, Bun
- **Mobile**: React Native, Ionic
- **Desktop**: Electron
## Modern JavaScript (ES6+)
```javascript
// Arrow functions
const add = (a, b) => a + b;
// Destructuring
const { name, age } = person;
// Async/await
const data = await fetch(url);
// Modules
import { helper } from './utils.js';
```
## Ecosystem
- **Package manager**: npm, yarn, pnpm, [[Bun]]
- **Frameworks**: React, Vue, Angular, Svelte
- **Bundlers**: Vite, webpack, esbuild
- **Testing**: Jest, Vitest, Playwright
## References
- https://developer.mozilla.org/en-US/docs/Web/JavaScript
- https://en.wikipedia.org/wiki/JavaScript
## Related
- [[TypeScript]]
- [[Node.js]]
- [[JavaScript Object Notation (JSON)]]
- [[LangChain]]