javascript - JavaScript 中的多个返回值
问题描述
注意:我已经查看了这个同名的问题和其他几个问题。我的问题有些不同。
我正在阅读一篇文章,并遇到了我以前从未见过的 JS 模式。我一直在尝试使用它(详情如下),但它仍然没有意义。搜索也枯竭了。
这是模式(上面文章中引用的代码)。具体线路:
return 'The error is', err;
我试图在控制台中更简单地重现这一点(同时重现基本上下文,以防这是正在发生的事情的一部分):
obj = {
resolve(whatever, another) {
console.log(whatever, another);
return 'The error is', whatever;
}
}
第一次尝试是单个变量来捕获返回:
a = obj.resolve('Hey', 'there');
Hey there // What is console logged
"Hey" // The return -- NOT "The error is"
a
"Hey" // a value equals the return
然后我尝试将两个返回值作为解构数组访问:
[b, c] = obj.resolve('Whats', 'up');
Whats up // What is console logged
"Whats" // The return value
b
"W" // b value
c
"h" // c value
最后,为了好玩,我尝试了对象解构:
{d, e} = obj.resolve('Another', 'one');
Uncaught SyntaxError: Unexpected token =
为了确认它似乎只返回最后一个值,我也尝试了这个:
function func (arg) {
return 'First', arg, 'Third';
}
z = func('hello')
"Third" // The return
z
"Third"
有谁知道这里发生了什么/JavaScript 如何读取此代码?看起来只返回最终值。是否有关于这是如何工作的文档?有任何理由使用这种模式吗?似乎除了最后一个返回值之外的所有内容都被忽略了。
解决方案
推荐阅读
- php - 如何将多个数组映射或组合成一个数组?
- nginx - 带有 on_play PHP 身份验证的 Nginx RTMP
- java - 当我将枚举构造函数设为私有或默认时,它有什么区别?
- python - Python排序字典列表
- php - 无法获取 POST 数据,因为它始终为空
- reactjs - reactjs中刷新页面后如何保持登录状态
- swift - 在初始化程序中设置关联属性
- javascript - 如何使用 Flatlist onEndReached 在 React Native 中进行分页
- ios - 如何将swiftUI iPadOS应用程序中的小键盘外观设置为默认
- node.js - 如何使用摘要身份验证在 MongoDB Atlas API 上进行身份验证?