이번에는 lodash에서 사용하는 isEmpty()에 대하여 알아봅니다.



# isEmpty() 알아보기어떤 기능을 할 수 있는지 알아보면 isEmpty()값이 비어있는지... 즉, empty 상태인지를 확인하여 그 결과를 boolean으로 반환해줍니다. 즉 값이 있다면 true를 반환하고 없다면 false를 반환하죠. 그럼 isEmpty()의 장점은 무엇일까요? 간단하게 아래와 같습니다.

  • 객체의 프로퍼티의 존재를 확인 가능
  • 배열의 경우 내부 개수를 확인함
  • Map, Set 등의 여러 타입에 적용가능

이처럼 적용이 가능합니다. 가장 큰 장점은 여러 값을 가지는 배열과 객체 타입의 경우에 적용할 수 있다는 점이죠. 그럼 아래는 간단한 예제입니다.



# isEmpty() 예제보기아래는 몇 가지 값들에 대하여 lodash의 isEmpty()를 수행하고 그 결과를 알아보는 예제입니다.
@ 숫자타입
_.isEmpty(-10);
_.isEmpty(0);
_.isEmpty(1);
_.isEmpty(10);

위의 결과는 아래와 같습니다.
true
true
true
true

숫자 타입의 경우 모두 true를 반환하는군요. 0만 true를 반환할 거란 생각을 했다면 다른 차이를 보입니다.


@ boolean 타입
_.isEmpty(true);
_.isEmpty(false);

결과 보기
true
true

불리언의 값 역시 true, false에 상관없이 true를 반환합니다. lodash의 isEmpty()는 아무래도 여러개의 값을 가지는 타입을 목적으로 만들어졌다고 생각하게됩니다.


@ 문자타입
_.isEmpty('');
_.isEmpty('abc');

_isEmpty(' ');

결과입니다.
true
false

false

문자는 조금 다른 결과를 가져왔습니다. 하나의 단어를 각각의 유무로 판단하며 공백 역시 값을 가졌다고 보고 false를 반환합니다.


@ 배열타입
_.isEmpty([]);
_.isEmpty([1, 2]);

결과입니다.
true
false

아무래도 가장 많이 필요한 타입이 바로 배열이라 생각합니다. 일반적으로 length를 반복 사용해야했지만 lodash의 isEmpty()는 이럴 필요가 없어 편리합니다.


@ 객체타입
_.isEmpty({});
_.isEmpty({ a: 1 });

결과보기
true
false

객제 역시 프로퍼티를 확인하고 값의 존재 유무를 반환하게 됩니다.


@ 그 외 예제들
_.isEmpty(null);

결과입니다.
true


여기까지 lodash의 isEmpty()에 대하여 알아보았습니다.