函数使用三元运算符返回未定义

lft*_*ryt 3 javascript function undefined

我正在尝试理解这个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>
Run Code Online (Sandbox Code Playgroud)

Hen*_*son 5

return你的函数中缺少了isBreadWinner

let isBreadwinner = function() {
    return (user.salary) ? true : false;
};
Run Code Online (Sandbox Code Playgroud)

如果你想跳过使用 areturn那么你可能需要使用 ES6 箭头函数,如果所有内容都在没有块的一行上声明,则该函数具有隐式返回{}

let isBreadwinner = () => (user.salary) ? true : false;