주위 개발자분들중 이러한것이 가능하다는점은 인지하고있지만 개념에 대해 제대로 이해하고있는편이 아니며, 타입캐스팅형태로 진행된다고 알고계신분들이 있어 올바른지식에 대해 알아야된다고 생각하고있습니다.
참 같은 값이며, 불리언을 기대하는 문맥에서 true로 평가되는 값입니다.
falsy값들을 알고 나머지는 truthy라고 생각하며되는데, 값이 있다는걸 표현하고있는것들이 truthy로 되어있는걸 볼수 있습니다.
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
거짓 같은 값이며, 불리언을 기대하는 문맥에서 false로 평가되는 값입니다.
boolean, string, array, number 등 초기값 및 값이 없다는걸 나타내는것이 falsy로 취급되는걸 알수있습니다.
if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (0n)
if (NaN)
if ("")
if("") {
console.log("찍힙니당");
}
// 찍힙니당
console.log(0); -> // 0
console.log(!0); -> // false
console.log(!!0); -> // true