Что значит foo === + bar? - PullRequest
       5

Что значит foo === + bar?

0 голосов
/ 21 апреля 2020

Итак, я учусь использовать express прямо сейчас, и у меня возникла проблема с кодированием, где я должен скачать zip-файл и выполнить то, что мне нужно. Тем не менее, я просматриваю часть кода и не понимаю, что он делает. Например,

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

Что делает + recipeId?

recipeId является целым числом. Как 2 или 3. Что делает знак «+» перед этим в этом выражении? Также рецепты это объект, который содержит разные рецепты.

1 Ответ

2 голосов
/ 21 апреля 2020

Оператор + используется здесь, чтобы убедиться, что id строго сравнивается с числом ie. RecipeID. Просто чтобы убедиться, что даже если recipeId является строкой типа «2», сначала преобразуйте ее в число с помощью унарного оператора +, а затем сравните его с id.

, например. предположим, что возникает случай, когда id = 2 и recipeId = "2".

Тогда id === recipeId вернет false, так как === оператор также проверяет тип операндов .

Чтобы получить значение true, оба операнда должны быть одного типа и иметь одинаковое значение . Итак, используя +recipeId, мы сначала преобразуем recipeId в number и, следовательно, теперь он вернет true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...