객체가 비어 있는지 확인하는 다양한 방법
2393 단어 javascriptbeginners
그래서 그것을 달성하는 방법을 알아 봅시다.
여기서 먼저 객체 리터럴 구문을 사용하여 빈 객체를 만듭니다.
const obj = {}
빈 객체
obj
를 생성한 후 다음과 같이 다른 빈 객체와 비교합니다.console.log(obj === {}) // false
우리는
false
를 얻고 있습니다. 이것이 어떻게 가능한지??? 다음과 같이 두 개의 빈 객체를 비교했습니다.console.log({} === {}) // false
이는 값이 아닌 참조를 비교하기 때문입니다. 값이 같더라도 이러한 개체에 대한 참조는 동일하지 않습니다.
그렇다면 객체가 비어 있는지 여부를 실제로 어떻게 확인할 수 있습니까?
Object.Keys 사용
Object.keys는 객체의 속성 이름을 포함하는 Array를 반환합니다. 배열의 길이가 0이면 객체가 비어 있음을 알 수 있습니다.
function isEmpty(obj) {
return Object.keys(obj).length === 0;
}
Object.values
및 Object.entries
를 사용하여 이를 확인할 수도 있습니다.이것은 객체가 비어 있는지 확인하는 가장 간단한 방법입니다.
JSON.stringify 사용
객체를 문자열화하고 결과가 단순히 여는 괄호와 닫는 괄호이면 객체가 비어 있다는 것을 알 수 있습니다.
function isEmptyObject(obj){
return JSON.stringify(obj) === '{}';
}
for…in을 사용하여 객체 속성 반복
for…in
문은 개체의 열거 가능한 속성을 반복합니다.function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
위의 코드에서 객체 속성을 반복하고 객체에 하나 이상의 속성이 있으면 루프에 들어가
false
를 반환합니다. 객체에 속성이 없으면 true
를 반환합니다.밑줄 및 Lodash 사용
다음과 같이 underscore.js으로 확인할 수도 있습니다.
_.isEmpty(obj);
_.isEmpty()
list, array, string, object 등이 비어있는지 확인하는 underscore.js 함수입니다. 먼저 전달된 인수의 길이를 찾은 다음 결정합니다. 전달된 인수가 비어 있는 경우, 즉 요소가 없는 경우 true를 반환합니다. 그렇지 않으면 false를 반환합니다.jQuery 사용
다음과 같이 jQyery 라이브러리로 확인할 수도 있습니다.
jQuery.isEmptyObject(obj);
😄 읽어주셔서 감사합니다.
제가 놓친 부분이 있거나 더 좋은 방법이 있다면 알려주세요.
Reference
이 문제에 관하여(객체가 비어 있는지 확인하는 다양한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/awesome_aj1298/different-ways-to-check-if-object-is-empty-or-not-146텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)