如何制作更短且可读的比较/逻辑行来分配默认值?在jQuery/JavaScript中

How to make shorter and readable comparison/logical lines to assign default values? in jQuery/JavaScript?

本文关键字:分配 默认值 JavaScript jQuery 何制作 比较      更新时间:2023-09-26

考虑一下正则函数内部底部的代码,该代码检查是否提供了一些参数,并为名为message的变量分配默认值。如果参数是truthy或空字符串,它将被简单地转换为字符串并存储在消息变量中,否则参数类型将存储在消息中。我知道可以缩短if-else语句来为变量分配默认值,比如:

var message = arguments[0] || jQuery.type(arguments[0]);

如果只有自变量[0]是真的,则将存储在消息中。但是,如何在不必使用长if-else语句的情况下,为一个错误值的空字符串破例呢?

if(arguments[0] || arguments[0] === '')
    var message = arguments[0].toString();
else
    var message = jQuery.type(arguments[0]);
var message = ((arguments[0] || arguments[0] === '') ? arguments[0].toString() : jQuery.type(arguments[0]));

听起来像是在寻找一个简写if/else。如果是这样的话,你可以在这里找到你的问题的答案。基本上你需要的是一个三元运算符。

摘录如下:

var x = y !== undefined ? y : 1;