Разница между !! против прямой проверки стоимости - PullRequest
0 голосов
/ 29 апреля 2020

Какая разница, когда мы проверяем значение с помощью !! или без него.

Пример: -

a) if (!! Value) {do this} => Я знаю, что это условие вернет логическое значение

b) если (Value) {do this} ==> Это проверит, есть ли внутри value что-либо

Но в чем будет разница в их использовании? Если не выше, в каком случае они оба будут иметь значение?

1 Ответ

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

Нет никакой разницы при использовании if(value) или if(!!value) в JavaScript или в TypeScript.

!! приведёт любое следующее значение к логическому типу.

Однако выражение внутри if в любом случае будет приведено к логическому значению JavaScript / TypeScript.

В JavaScript значения, которые будут приведены к false (" ложные значения ") false, 0, "", NaN, null, undefined.

Любые другие значения правдивые (включая пустые массивы и объекты), т.е. будет приведен к true.

...