객체가 비어 있는지 확인하는 다양한 방법

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.valuesObject.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); 

😄 읽어주셔서 감사합니다.



제가 놓친 부분이 있거나 더 좋은 방법이 있다면 알려주세요.

좋은 웹페이지 즐겨찾기