JavaScript 速查表
Node 24 的值、函数、集合、错误、异步操作、模块、字符串与输入边界语法参考。
Node 24 打印为 1 页
值
const value = source 绑定不可重新赋值的块级名称 let value = source 绑定可以重新赋值的块级名称 value ?? fallback 仅当值为 null 或 undefined 时使用后备值 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 兼容的值