admin管理员组文章数量:1434929
I am trying to wrap my head around the isBreadwinner
function. Why does not true
pass into the (**) function. Why is Earning member:undefined
<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>
I am trying to wrap my head around the isBreadwinner
function. Why does not true
pass into the (**) function. Why is Earning member:undefined
<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>
Share
Improve this question
edited Aug 6, 2017 at 5:22
lft93ryt
asked Aug 6, 2017 at 5:13
lft93rytlft93ryt
1,0161 gold badge17 silver badges34 bronze badges
2 Answers
Reset to default 5You're missing the return
in your isBreadWinner
function.
let isBreadwinner = function() {
return (user.salary) ? true : false;
};
If you want to skip using a return
then you might want to use an ES6 arrow function which has implicit returns if everything is declared on one line without a block, {}
.
let isBreadwinner = () => (user.salary) ? true : false;
you may write the function like this
let isBreadwinner = () => (user.salary) ? true : false;
or just add return
to your function
本文标签: javascriptFunction returns undefined with ternary operatorStack Overflow
版权声明:本文标题:javascript - Function returns undefined with ternary operator - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745615871a2666396.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论