Нет никакой разницы при использовании if(value)
или if(!!value)
в JavaScript или в TypeScript.
!!
приведёт любое следующее значение к логическому типу.
Однако выражение внутри if
в любом случае будет приведено к логическому значению JavaScript / TypeScript.
В JavaScript значения, которые будут приведены к false
(" ложные значения ") false
, 0
, ""
, NaN
, null
, undefined
.
Любые другие значения правдивые (включая пустые массивы и объекты), т.е. будет приведен к true
.