foo===+bar是什么意思



所以我现在正在学习如何使用express,我遇到了一个编码挑战,我应该下载一个zip文件并做我需要做的事情。然而,我正在浏览一些代码,不明白其中一些代码的作用。像

const recipe = recipes.find( ({ id }) => {
return id === +recipeId; }
);

+recipeId做什么?

recipeId是一个整数。比如2或3。在这个表达式中,它前面的+是做什么的?食谱也是一个包含不同食谱的对象。

这里使用+运算符来确保id与数字(即recipeId(进行严格比较。只是为了确保即使recipeId是像"2"这样的字符串,也要先使用一元运算符+将其转换为数字,然后将其与id进行比较。

例如。假设出现id=2和recipeId="2"的情况。

然后id === recipeId将返回false,因为===运算符还检查操作数的类型

若要将其求值为true,两个操作数必须具有相同的类型和相同的值。因此,通过使用+recipeId,我们首先将recipeId转换为number,因此它现在将返回true

最新更新