코드를 작성하면서 필요에 의해 구글링을 하다가 !!를 보게 되었다.
const authToken = "someToken";
console.log(!!authToken); // true
const authToken = "";
console.log(!!authToken); // false
❓"Truthy"와 "Falsy"의 의미
- Truthy : true로 평가되는 값
1, "string", {} 등
- Falsy : false로 평가되는 값
0, "" (빈 문자열), null, undefined, NaN 등
const authToken = cookies.find((cookie) => cookie.startsWith("sb-awglleigixtjjdlmbhrh-auth-token.0"));
setIsAuthenticated(!!authToken);
authToken이 undefined 또는 null인 경우:
!authToken은 true가 되고, !!authToken은 false가 됨
authToken이 "truthy"한 값인 경우 (예: 문자열):
!authToken은 false가 되고, !!authToken은 true가 됨
=> authToken이 존재하는지 여부를 명시적으로 true 또는 false로 변환하여 setIsAuthenticated 함수에 전달
따라서 setIsAuthenticated는 authToken의 존재 여부에 따라 true 또는 false로 상태를 설정