1

在检查虚假值时我得到一个布尔值,但在检查一个真实值时没有布尔值......我只是得到一个字符串。

这行得通。

const isFalse = !values.firstName && !values.lastName && !values.email;

但这不是,因为我只返回一个字符串。

const isValid = values.firstName && values.lastName && values.email;

虽然,我可以通过以下方式达到预期的结果......这似乎不是最好的前进方式。

const isValid = values.firstName && values.lastName && values.email ? true : false;

我如何能够检查字符串的真值并得到布尔值(而不是字符串)?

4

2 回答 2

1

哇,真快。我发现你可以做一个双重否定来达到同样的结果并让它发挥作用!!(双关语)

const isValid = !!(values.firstName && values.lastName && values.email);
于 2020-09-14T11:37:55.900 回答
-2

好吧,Javascript 有时会很奇怪......我不知道它究竟为什么会发生,但我可以告诉你如何获得一个布尔值:

const isValid = !!values.firstName && !!values.lastName && !!values.email;

奖励:为了开心,请查看:https ://www.destroyallsoftware.com/talks/wat

于 2020-09-14T11:38:00.823 回答