작성
·
367
0
답변 2
1
불리언 값을 넘기는 게 아닙니다. && 연산자는 불리언을 반환하는 게 아니라 앞의 값이 존재하면 && 다음 값을 반환합니다. 없다면 앞의 값을 반환하고요.
예를 들어 req.user가 존재하면 req.user.id를 넣는 것이고 없으면 req.user를 반환하는데 req.user가 없는 값이므로 || 연산자를 적용해서 undefined를 넣습니다. 삼항연산자와 쓰임새가 같습니다. req.user ? req.user.id : undefined.
|| 연산자는 &&와는 반대로 앞 값이 존재하면 앞의 값을 반환하고, 없다면 다음 값을 반환합니다.
아래 도메인도 마찬가지로 user가 있으면 user.domains를 넣고 없으면 앞의 값인 user를 넣습니다. user가 없는 값(undefined, null, false같은 것)일 때는 없는 값 그대로 나오는 것입니다.
0