Jon*_*ert 2 javascript if-statement undefined ecmascript-6
我有这个:
\nreturn '\xc2\xa3' + val?.toLocaleString();\nRun Code Online (Sandbox Code Playgroud)\n检查 val 是否有值,但是我不确定这与以下内容相比有多安全:
\nif(val) {\n return '\xc2\xa3' + val.toLocaleString();\n}\nreturn val\nRun Code Online (Sandbox Code Playgroud)\n有人可以帮我分析一下这里的差异以及为什么其中一个更好(如果是这种情况的话)吗?
\n第一个如果val是,undefined或者它将与null的值连接起来valundefined
function format(val) {\n return \'\xc2\xa3\' + val?.toLocaleString();\n}\n\nconsole.log(format())\nconsole.log(format(null))\nconsole.log(format(3))Run Code Online (Sandbox Code Playgroud)\r\n第二个只有在val是真值时才会进行串联,否则将按val原样返回
请记住,零是一个虚假值。
\nfunction format(val) {\n if(val) {\n return \'\xc2\xa3\' + val.toLocaleString();\n }\n return val\n}\n\nconsole.log(format())\nconsole.log(format(0))\nconsole.log(format(3))Run Code Online (Sandbox Code Playgroud)\r\n