프로그래밍 언어/HTML,CSS,JS

JavaScript 객체가 비었는지 테스트 하는 방법

Rateye 2021. 12. 10. 10:25
728x90
반응형
질문 : 빈 JavaScript 객체를 어떻게 테스트합니까?

AJAX 요청 후 때때로 내 애플리케이션이 다음과 같이 빈 객체를 반환 할 수 있습니다.

var a = {};

그게 사실인지 어떻게 확인할 수 있습니까?

답변

ECMA 5+ :

// because Object.keys(new Date()).length === 0;
// we have to do some additional check
obj // ? null and undefined check
&& Object.keys(obj).length === 0 && obj.constructor === Object

그러나 이로 인해 불필요한 배열이 생성됩니다 ( keys 의 반환 값).

ECMA 이전 5 :

function isEmpty(obj) {
  for(var prop in obj) {
    if(Object.prototype.hasOwnProperty.call(obj, prop)) {
      return false;
    }
  }

  return JSON.stringify(obj) === JSON.stringify({});
}

jQuery :

jQuery.isEmptyObject({}); // true

lodash :

_.isEmpty({}); // true

밑줄 :

_.isEmpty({}); // true

각도

Hoek.deepEqual({}, {}); // true

ExtJS

Ext.Object.isEmpty({}); // true

AngularJS (버전 1)

angular.equals({}, {}); // true

람다

R.isEmpty({}); // true
출처 : https://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object

 

728x90
반응형