繁体   English   中英

foo === +bar 是什么意思?

[英]What does foo === +bar mean?

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

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

+recipeId 有什么作用?

recipeId 是 integer。 比如 2 或 3。它前面的 + 在这个表达式中是做什么的? recipes 也是一个包含不同配方的 object。

+ 运算符在这里用于确保 id 与数字 ie 严格比较。 食谱编号。 只是为了确保即使 recipeId 是像“2”这样的字符串,然后首先使用一元运算符 + 将其转换为数字,然后将其与 id 进行比较。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM