分配错误的返回值未定义

时间:2018-12-19 21:57:17

标签: javascript node.js

以下代码输出“ undefined”,但是当x为true时,它可以工作。 如果我将字符串“ false”指定为正确的话。

有人有主意吗?

var _obj= {"istrue":false};
var y = (x)=>({z:x.istrue})
const uCall = y(_obj);
console.log(uCall.z);

更新

我更新了代码以反映我的实际代码。

当我在浏览器中运行代码时,它可以工作,但是当我在服务中运行它时,它返回未定义的东西。

2 个答案:

答案 0 :(得分:2)

您正在读取函数实例的z属性。您需要使用参数调用y函数。

var x= false;
var y = (x)=>({z:x})
console.log(y('testing123').z);

答案 1 :(得分:1)

不确定您要实现的目标。您正在将变量y设置为以x为参数的函数(不是全局变量x而是参数x)。如果运行y(x),则会收到一个对象{z:false}