首页 > 解决方案 > 试图简化这个处理 undefined 的 JavaScript 表达式

问题描述

我想保留undefinedif pinned 实际上是未定义的,否则,如果 pinned 为真,我想将等号上的值设置为 1,如果它为假,则设置为 0。我想出了这个可行的方法,但我一直在研究它,似乎它应该更简单。

const resultingValue = pinned === undefined ? undefined : pinned ? 1 : 0;

我想要的是:

如果 pinned 未定义,如果 pinned 为 true,则返回 undefined,如果 pinned 为 false,则返回 1,否则返回 0,否则返回 0;

标签: javascript

解决方案


您可以检查类型并返回一些布尔值或undefined.

const
    resultingValue = typeof pinned === 'boolean'
        ? +pinned
        : undefined;

推荐阅读