반응형
_.isNil
변수의 값이 null 또는 undefined인지 확인한다.
ex) 게시물의 존재 여부와 비밀번호 일치 여부를 검사
if(_.isNil(article)){
throw new NotFoundException('게시물을 찾을 수 없습니다.');
}
const articlePassword = this.articlePasswords.get(id);
if(!_.isNil(articlePassword) && articlePassword !== password){
throw new NotFoundException('비밀번호가 일치하지 않습니다.');
}
!_.isNil(articlePassword) && articlePassword !== password: 여기서는 두 조건을 검사한다.
- 첫 번째 조건 !_.isNil(articlePassword)는 조회된 articlePassword가 null 또는 undefined가 아닌지 확인한다.
- 두 번째 조건 articlePassword !== password는 조회된 비밀번호가 사용자가 제공한 password와 일치하지 않는지를 검사한다.
_.isNaN
인자가 NaN (Not-a-Number, 숫자가 아님)인지 여부를 판별한다.
JavaScript의 내장 isNaN 함수와 Lodash의 _.isNaN 함수 모두 동일한 목적으로 사용된다.
if (_.isNaN(id)) {
throw new BadRequestException('게시물 ID가 잘못되었습니다.');
}
id가 number 타입으로 변환할 수 없는 경우(예 : id = 'abc'로 들어옴)에는 컨트롤러에서 전달되는 +id 값이 NaN이 되기 때문에 이렇게 검증하는 로직이 필요함.
반응형
'TIL' 카테고리의 다른 글
[TypeORM] TypeORM에서 자동으로 컬럼명이 바뀌는 문제 (0) | 2024.03.12 |
---|---|
Nest.js 프로젝트에 TypeORM 적용하기 (0) | 2024.03.08 |
JavaScript 기본 문법 : find() (0) | 2024.03.08 |
캐시에 대해서 (0) | 2024.03.06 |
TypeScript에 대하여 (0) | 2024.03.05 |