JavaScript 速查表

Node 24 的值、函数、集合、错误、异步操作、模块、字符串与输入边界语法参考。

Node 24 打印为 1 页
下载 .md

const value = source 绑定不可重新赋值的块级名称
let value = source 绑定可以重新赋值的块级名称
value ?? fallback 仅当值为 nullundefined 时使用后备值
items.at(-1) 读取最后一项且不修改数组
Object.hasOwn(data, key) 明确检查对象自身是否有该属性

函数

const f = (x) => x + 1 从箭头函数返回一个表达式
function f(x) { return x + 1; } 声明具名函数
f(...values) 把可迭代对象展开为参数
f.call(owner, value) 用指定的接收者调用函数
f.bind(owner) 创建绑定了接收者的函数

集合

items.map(project) 逐项转换并生成新数组
items.filter(keep) 用匹配项生成新数组
items.find(match) 返回第一个匹配项,未找到则返回 undefined
items.some(match) 检查是否有任意一项匹配
items.every(match) 检查是否所有项都匹配

对象

{ ...base, key: value } 浅拷贝对象并覆盖一个属性
Object.entries(data) 读取对象自身可枚举的字符串键条目
Object.fromEntries(rows) 从键值对构建对象
delete data.key 删除对象自身可配置的属性
structuredClone(data) 深拷贝受支持的结构化数据

错误

throw new Error(message) 显式抛出错误
try { work(); } catch (error) { handle(error); } 处理同步异常
promise.catch(handle) 处理被拒绝的 Promise
finally { release(); } 无论结果如何都释放资源
error instanceof TypeError 检查错误是否属于已知类型

异步

await task 等待一个 Promise 敲定
await Promise.all(tasks) 收集全部结果,或在首次失败时拒绝
await Promise.allSettled(tasks) 收集每个兑现与拒绝结果
AbortSignal.timeout(ms) 创建超时后自动中止的信号
for await (const item of source) 依次消费异步可迭代对象

模块

export { value } 导出具名绑定
import { value } from './mod.js' 导入具名绑定
export default value 导出一个默认值
import('./mod.js') 动态加载模块并返回 Promise
import.meta.url 读取当前模块的 URL

字符串

`id: ${id}` 把值插入模板字面量
text.includes(part) 检查是否包含子字符串
text.replaceAll(a, b) 替换所有完全匹配的字符串
text.split(separator) 把文本拆分为数组
parts.join(separator) 把多个值连接为文本

输入边界

Number.parseInt(text, 10) 解析开头的十进制整数
Number.isFinite(value) 不进行类型强制转换,检查是否为有限数
encodeURIComponent(value) 编码一个 URL 组件
JSON.parse(text) 解析 JSON 文本
JSON.stringify(value) 序列化与 JSON 兼容的值

向你的 AI 准确表达

规则包 · JavaScript

供编码智能体使用的 JavaScript 规则

下载本方向的常见陷阱与审查项,文件格式可直接供编码智能体读取。