一个奇怪的返回语句

js strange return statement

本文关键字:返回 语句 一个      更新时间:2023-09-26

我正在做一个angular教程,但是无论如何,我不理解下面的返回语句:

return selectedCategory == null || product.category == selectedCategory;

我试着像这样重写它,但它不工作:

if (selectedCategory == null) {
                return selectedCategory;
            } else {
                return product.category;
            }

如何重写一行代码以便更容易理解?

你返回null,他们返回true。你的需要是

if (selectedCategory == null) {
    return true;
} else {
    return product.category == selectedCategory;
}

如何重写一行代码以便更容易理解?

通过在返回的表达式周围加上括号:

return ((selectedCategory == null) || (product.category == selectedCategory));

它只是返回一个布尔值。这不应该分割,使用if -语句实际上会使其更难阅读。如果有的话,您可以引入一些额外的变量,为单个值提供描述性名称:

// some guesses about their meaning
var noSelection   = selectedCategory == null;
var alreadyActive = product.category == selectedCategory;
var nothingTodo   = noSelection || alreadyActive;
return nothingTodo;