以这种方式传递参数意味着什么?

2024-01-06

我正在学习 javascript,我看到了我不理解的这段代码:

exports.configure = ({
   expressapp = null,
   userdb = null,
   path = '/myroute'
} = {}) => { 
   // handle routes
};

我对传入参数的结构以及内部发生的事情感到最困惑。我在哪里可以找到更多相关信息以便阅读相关内容?当你传递这样的参数时,它到底被称为什么?你为什么要这样做?


该模式是一种解构分配,它将普通对象分配为默认参数,以避免TypeError如果没有值传递给函数。

const exports = {};

exports.configure = ({
   expressapp = null,
   userdb = null,
   path = '/myroute'
}) => { 
   // handle routes
   console.log(expressapp)
};

try {
  exports.configure();
} catch(err) {
  console.error(err)
}
const exports = {};

exports.configure = ({
   expressapp = null,
   userdb = null,
   path = '/myroute'
} = {}) => { 
   // handle routes
   console.log(expressapp)
};

try {
  exports.configure();
} catch(err) {
  console.error(err)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以这种方式传递参数意味着什么? 的相关文章

  • 在有限的上下文中运行 JS 代码

    我正在尝试奔跑trusted 隔离 上下文中的 JS 代码 基本上想出了这个方法 function limitedEval src context return function with this return eval src call
  • JavaScript 字符串中的脚本标签[重复]

    这个问题在这里已经有答案了 我遇到一个问题 即 JavaScript 中带引号的字符串内有结束脚本标记 并且它正在杀死脚本 我认为这不是预期的行为 可以在这里看到这样的示例 http jsbin com oqepe edit http js
  • Javascript 进程是否有多个执行线程?

    背景 我正在创建一个 地址簿 类型的应用程序 有很多条目需要加载 一个想法是首先加载一小部分条目 让用户开始 然后将剩余条目排队 优先考虑用户单击的条目 例如 如果他们单击以 X 开头的名称 请先加载这些名称 然后再处理队列的其余部分 这个
  • 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

    我正在尝试使用 ASP NET MVC Ajax BeginForm 帮助程序 但不想在调用完成时使用现有的内容插入选项 相反 我想使用自定义 JavaScript 函数作为回调 这可行 但我想要的结果应该以 JSON 形式返回 不幸的是
  • 将时间戳转换为一个数组

    在应用程序脚本 谷歌表中运行 我从 API 获取时间戳并返回此结果 1 6370611672429312E18 1 63706107263277082E18 我执行此代码并且工作正常 但问题不在数组中 我每次都需要它在数组中 const t
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • jquery 中的函数返回未定义[重复]

    这个问题在这里已经有答案了 我在 jquery 中调用的函数返回未定义 我检查了该函数 当我对其进行调试时 它返回正确的数据 function addToPlaylist component type add to pl value pl
  • Angular2:动态同步http请求

    Goal 发出一系列同步 http 请求并能够将它们作为一个可观察流进行订阅 示例 不工作 let query arr test1 test2 test3 function make request query arr if query a
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 在反应中访问回调内的 event.target

    我有以下课程片段 constructor props super props this timeout null search e gt clearTimeout this timeout this timeout setTimeout f
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • React Redux - 在辅助函数中访问现有存储

    我试图在反应组件之外获取存储实例 存储状态 即在单独的辅助函数中 我有我的减速器 我的动作 我在最上面的组件中创建了一个商店 configStore js import createStore from redux import gener
  • vuejs中如何获取组件编译后的html内容

    我有一个这样的组件
  • 如何在 TypeScript 中使用 navigation.replace ?

    我试图在我的代码中使用它 const navigation useNavigation navigation replace AllFriends 但我不断收到错误消息 Property replace does not exist on
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • 将 html 文本框的值分配给 div 的标题

    line 1
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse

随机推荐

  • JavaScript - 二分搜索每次都会挂起

    我有一个二维数组 如下所示 1 11 23 2 22 52 3 33 61 其中数组按每行中的第一个值排序 我试图在数组中找到一个值close到搜索值 在一定的灵敏度内 这种设置的方式以及灵敏度的值确保数组中只有一个可能的匹配 搜索值是鼠标
  • 将拟合摘要写入 pdf 文件或类似文件中

    我正在循环中对许多数据集进行线性拟合 并将结果绘制在 pdf 文件中 是否可以直接将summary fit 的输出保存在同一个pdf文件中 而不是通过控制台观察大约100个数据集的摘要 LMmodel lt y x fit lt lm LM
  • 我什么时候应该使用前进和移动?

    我有一个对向量进行操作的代码 template
  • PHP:将任何浮点数格式化为十进制扩展

    我想创建一个函数formatFloat 它接受任何浮点并将其格式化为十进制扩展字符串 例如 formatFloat 1 0E 25 10 000 000 000 000 000 000 000 000 formatFloat 1 0E 24
  • 如何将两个 long 相除并得到值?

    我需要计算整数和长整数的概率 但我总是得到0 整数a 234 长b 123453344L 浮动 c a b 如何在 Java 中得到正确的结果 您需要将其中一个投射为float 或将其中一个变量声明为float从头开始 否则 Java 的整
  • 何时适合在 Web 项目中使用 UUID?

    我正忙于一个新项目的数据库设计 我不确定是否使用UUID或普通的表唯一自增id 到目前为止 我建立的网站都在一台服务器上运行 非常大的流量从来都不是太令人担忧的问题 然而 这个 Web 应用程序最终将在多个服务器上同时运行 提供 API 并
  • 自定义控件中的膨胀布局 - 如何?

    我有关于如何在这里创建自定义控件的想法 Android 界面 需要有关使用哪些小部件的建议 https stackoverflow com questions 5891153 android interface need suggestio
  • 如何从 Android APK 生成调用图?

    我从 Google Play 下载了一些 Android 应用程序 我有Smali通过逆向工程工具进行编码apktool 我想为这些应用程序生成调用图 我在堆栈溢出和谷歌上看到了很多链接 大多数建议的工具要么用于c c 或者如果他们是为了J
  • 调用 wait() 时出现异常

    我正在实现一个应用程序 在其中播放两种声音 触摸和展示 其次是 tiger 这是在我的looper方法 我第一次打电话 然后打电话wait 然后调用looper again 问题是我在 LogCat 中遇到异常wait call 这是我的代
  • C++:将字符串拆分并将内容填充到 std::vector 的优雅方法

    我想沿着空格分割一个字符串 并且我知道标记 代表有效整数 我想将标记转换为整数 并用它们填充向量 我可以使用 boost split 创建令牌字符串向量 然后使用 std transform 你的解决方案是什么 使用升压是可以接受的 像这样
  • WPF 装饰器剪辑

    我有一个ItemsControl in a ScrollViewer 中的项目ItemsControl被扩展为DataTemplate它基本上由一个Adorner 现在的问题是 当滚动时 Adorner在外部可见ScrollViewer 假
  • 如何在 MATLAB 中保存更改后的图像?

    我想将图像读入 MATLAB 在其上绘制一个矩形 然后保存该图像 另外 我刚刚学习 MATLAB 请轻点 看起来应该很简单 但我似乎做不到 im imread image tif imshow im rectangle Position 1
  • 有没有办法检测当前的输入语言设置是什么?

    我基本上想知道系统当前的输入语言是什么 对于设置了多种语言输入法的用户 这将确定是否a的文本方向
  • 如何设置导航器拖动手柄的样式,Highstock

    除了颜色之外 是否可以设置导航器手柄的样式 如形状 高度 宽度 边框半径 背景等 来自 API 文档 http api highcharts com highstock navigator handles http api highchar
  • 对于 SQLCHAR 类型参数,ODBC SQLBindParameter 的 ColumnSize 参数可以是 strlen(param) + 1 吗?

    SQLBindParameter 函数的示例位于http msdn microsoft com en us library ms710963 v vs 85 aspx http msdn microsoft com en us librar
  • Scala:如何获得 Future 的结果

    我有一个返回a的方法Future像这样 def isTokenExpired token String Future Boolean 然后我有另一个调用的方法isTokenExpired返回一个Boolean像这样 def isExpire
  • 时间:2019-05-17 标签:c#UWPautoscrollingtext

    我目前正在为树莓派 Windows IoT 构建一个应用程序 它接受 UDP 消息并将其显示在屏幕上 我需要一种方法让文本自动在屏幕上水平滚动 我不能让用户单击按钮 因为没有输入设备连接到 Pi 到目前为止 我一直在尝试使用滚动查看器并手动
  • 罗技的 LED 照明 SDK 无法与我的 G502 配合使用

    我想得到罗技自己的 LED SDK http gaming logitech com en us developers正在使用我的 G502 但我不能 我使用的是 SDK 版本 8 82 7 这是迄今为止的最新版本 我在 SO 或互联网的其
  • Django 模型和表单有什么区别?

    我是 Django 新手 无法理解模型和表单 任何人都可以向我建议与它们相关的差异和教程吗 基本上 模型封装了有关某事物的信息 即 它models它 并存储在数据库中 例如 我们可以模拟一个人 from django import mode
  • 以这种方式传递参数意味着什么?

    我正在学习 javascript 我看到了我不理解的这段代码 exports configure expressapp null userdb null path myroute gt handle routes 我对传入参数的结构以及内部