javascript函数返回未定义而不是对象文字

标签 javascript node.js

我刚刚开始使用 javascript,但很快就陷入了一个——在我看来——返回对象文字的相当简单的任务。

我当前的代码如下所示

function wrapInObject(x)
{
    return
    {
        y: x
    };
}
console.log(wrapInObject('someValue'));  

但它没有将对象文字写入控制台,而是打印 undefined - 我尝试用数字或其他对象文字调用该函数,但没有任何帮助。

感谢您的帮助!

最佳答案

这是由于一个名为 automatic semicolon insertion 的进程造成的对于具有 C# 背景或其他语言背景的新开发人员来说,这常常是困惑的根源,在这些语言中,将左大括号放在新行上是常见的做法。

本质上,发生的情况是在您的 return 语句之后放置一个隐式分号,以便它返回 undefined 并且您的对象文字永远不会“到达”。

要修复它,只需将左大括号移动到 return 的末尾,如下所示

function wrapInObject(x)
{
    return { 
        y: x 
    };
}

关于javascript函数返回未定义而不是对象文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38620673/

相关文章:

javascript - 用javascript计算点返回一半

javascript window.opener.location.reload() 替代

sockets - 安装 Node http代理

javascript - req.body 没有出现在 postman 中

javascript - 获取日期和/或在 JSON 对象中检查它?

javascript - axios post数组数据

javascript - 从 Netsuite 仪表板隐藏标准选项卡

javascript - 如何破坏 Node.JS 模块中的代码?

javascript - 如何使用 JavaScript/Node.js 创建图像?

javascript - 将带有参数的函数添加到 Array Javascript (Node.js)