자바스크립트 라이브러리 lodash
데이터 구조를 쉽게 다룰 수 있게 도와주는 도구이다.
array, collection, date 같은 것들을 쉽게 처리할 수 있다.
특히 js에서 배열 안의 객체 값을 다룰 때 유용하다.
1. lodash의 .isEmpty() 메서드
이 메서드는 오브젝트, 컬렉션, 맵, 세트 등이 비어 있는지 아닌지를 체크하는 도구이다.
비어 있으면 true를 리턴하고, 안 비어 있으면 false를 리턴한다.
예를 들어, 빈 배열이나 빈 오브젝트를 .isEmpty()로 체크하면 true를 리턴한다.
반대로, 요소가 하나라도 들어 있는 배열이나 프로퍼티가 있는 오브젝트는 false를 리턴한다.
console.log(_.isEmpty([])); // true
console.log(_.isEmpty({})); // true
console.log(_.isEmpty([1, 2, 3])); // false
console.log(_.isEmpty({ 'a': 1 })); // false
뿐만 아니라, null이나 undefined 같은 값도 체크할 수 있다. 비어 있는 값으로 간주되므로 (비어있냐? 는 함수니까)true를 리턴한다.
console.log(_.isEmpty(null)); // true
console.log(_.isEmpty(undefined)); // true
lodash의 .isEmpty() 메서드 쓰면 좋은점:
1. 코드의 가독성이 높아진다.
2. 다양한 데이터 구조를 쉽게 검사할 수 있다. 특히 데이터가 비어 있는지 아닌지 빠르게 확인하고 싶을 때 아주 유용한 도구이다
2. lodas의 get 함수
get 함수는 객체 안의 깊숙한 속성에 안전하게 접근할 수 있도록 도와주는 유용한 도구이다.
보통 자바스크립트 객체의 깊은 속성에 접근할 때, 해당 속성이 존재하지 않으면 에러가 발생할 수 있다. get 함수를 사용하면 이러한 문제를 피할 수 있다.
예를 들어, 다음과 같은 객체가 있다고 하자:
const user = {
name: 'John',
address: {
city: 'New York',
zip: {
code: 10001
}
}
};
이 객체에서 zip 코드에 접근하는 방법은
const zipCode = user.address.zip.code;
하지만 만약 경로 중간에 있는 address나 zip 속성이 없다면 에러가 발생할 것이다.
get 함수를 사용하면 address나 zip 속성이 없어도 에러가 발생하지 않고 undefined를 반환한다.
import { get } from 'lodash'; const zipCode = get(user, 'address.zip.code');
또한, 아래와 같이 기본값을 설정할 수도 있다.
const zipCode = get(user, 'address.zip.code', 'Unknown');
이렇게 하면 address나 zip 속성이 없을 때 'Unknown'을 반환한다.
=lodash의 get 함수를 사용하면 에러를 방지하고 기본값을 설정할 수 있어서 코드가 더 안정적이고 읽기 쉬워진다.
'WEB > Javascript' 카테고리의 다른 글
clsx란? (0) | 2024.07.13 |
---|---|
Typescript의 interface (0) | 2024.07.10 |
enum in typescript (0) | 2024.07.05 |
타입스크립트에서 타입 지정하는 법 (0) | 2024.07.01 |
[JS] promise~ (0) | 2024.05.27 |