그냥저냥

[Javascript] Truthy/Falsy 값 본문

개발기

[Javascript] Truthy/Falsy 값

sync86 2025. 2. 28. 15:37
728x90
반응형

Koa.js 프레임워크로 REST API 개발 작업을 하면서 몰랐었는데 조건을 평가할 때 "참으로 평가되는 값" 또는 "거짓으로 평가되는 값"이 있다는 것을 최근에 알게 되었다. 사실은 이번에 REST API 작업을 하면서 알게된 것이 아니라 오래전부터 자바스크립트를 접했으나 최근에 알게 된 것이다.

 

Koa.js 프레임워크에서 코드 작성할 때 파라미터 확인할 경우가 많이 있다. 이전부터 파라미터를 확인하는 코드를 아래와 같이 코드를 작성하였다. 

const { UserID } = ctx.params;
// 사용자 ID는 필수값이며, 이 값이 없다면 더 이상 진행하지 못한다.
if (UserID == null || (UserID && UserID == 0)) {
  // ...생략...
}

 

이제는 아래와 같이 작성해도 될 것 같다는 느낌이 든다.

const { UserID } = ctx.params;
// 사용자 ID는 필수값이며, 이 값이 없다면 더 이상 진행하지 못한다.
if (!UserID) {
  // ...생략...
}

 

아래 MDN 링크에서 확인해보면 거짓으로 판단되는 값이 undefined, null, '', 0 등이 있었다. 따라서 올바르지 않는 UserID를 전달 받았을 때 (UserID == null || (UserID && UserID == 0)) 의미와 (!UserID)가 같은 의미로 보인다. (!UserID) 부분이 좀 더 넓은 의미로 올바르지 않는 UserID를 검증할 수 있을 것 같다. 

 

Truthy

Falsy

728x90
반응형