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
Ext.Object.isEmpty({}); // true
angular.equals({}, {}); // true
R.isEmpty({}); // true
출처 : https://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
CSS :: before 또는 :: after 를 자바스크립트로 제어하는 방법 (0) | 2021.12.11 |
---|---|
form을 다른 페이지로 제출하는 방법 (0) | 2021.12.10 |
Firebug 또는 유사한 도구를 사용하여 JavaScript / jQuery 이벤트 바인딩을 디버깅하는 방법 (0) | 2021.12.10 |
Chrome의 코드에서 JavaScript 중단점을 설정하는 방법 (0) | 2021.12.10 |
JavaScript는 래퍼런스에 의한 전달일까? 값에 의한 전달일까? (0) | 2021.12.09 |