我试图绕过isBreadwinner
函数。为什么true
没有传入(**)函数。为什么是收入成员:未定义
<script>
"use strict"
//creating a user object
let user = {
name : "Stackoverflow Developer",
age : 23
};
// appending properties to the user object
user.location = "NYC";
user["occupation"] = "JavaScript Developer";
user["salary"] = 10;
//(**)
let isBreadwinner = () => {
(user.salary) ? true : false;
};
console.log("asd" + isBreadwinner());
user["Earning member"] = isBreadwinner();
// printing the object
console.dir("User dir object" + JSON.stringify(user));
console.dir(user); //Earning member:undefined
</script>
答案 0 :(得分:2)
您错过了return
功能中的isBreadWinner
。
let isBreadwinner = function() {
return (user.salary) ? true : false;
};
如果你想跳过使用return
,那么你可能想要使用一个ES6箭头函数,如果所有内容都是在没有块{}
的情况下在一行上声明的,那么它具有隐式返回。
let isBreadwinner = () => (user.salary) ? true : false;
答案 1 :(得分:1)
你可以写这样的功能
let isBreadwinner = () => (user.salary) ? true : false;
或只是将return
添加到您的功能