JavaScript
是什么
JavaScript 是 web 的语言——唯一能在每个浏览器中原生运行的语言——并且通过 Node、Deno 和 Bun,它也是一个完整的服务端平台。它是动态类型、事件驱动且无处不在的,是全世界部署最广泛的编程语言。
优势
- 处处可运行:浏览器、服务器、边缘函数,甚至嵌入式设备。
- 无需编译步骤;编辑后刷新即可获得即时反馈。
- 庞大的 npm 生态和巨大的社区。
- 一流的异步支持,配合 promise 和
async/await。
取舍
- 没有静态类型——许多错误只有在运行时才暴露。
- 历史遗留的小毛病:宽松相等(
==)、this绑定、隐式类型转换。 - 缺乏纪律时很容易造成回调或依赖的失控蔓延。
- 前后端同语言可能模糊架构边界。
何时使用
对于快速脚本、小项目、学习、原型,或不值得添加构建步骤的环境,可以选择纯 JavaScript。对于更大或更长期维护的项目,大多数团队会转向 TypeScript——但 JS 仍是让东西在浏览器或小型 Node 工具中跑起来的最快方式。
与 vibe coding 的契合度
AI 助手能流畅地处理 JavaScript,但由于缺乏类型,生成的代码可能会悄无声息地假设了错误的数据结构。引导 AI 使用现代语法(const/let、箭头函数、async/await、模块)和严格相等,并在数据结构重要的地方让它加上防御性检查或 JSDoc 注释。说明你的运行环境——浏览器还是 Node、ESM 还是 CommonJS——以确保 import 正确。由于没有编译器可以依靠,让它给出一个小的可运行示例或测试,以便你直接验证行为。
const fetchTitle = async (url) => {
const res = await fetch(url);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const html = await res.text();
return html.match(/<title>(.*?)<\/title>/i)?.[1] ?? "(no title)";
};
fetchTitle("https://example.com").then(console.log);