기발한 구현 발견: 개체(Object)가 비어 있는지, 즉 요소가 포함되어 있지 않은지 확인해야 합니다. Javascript의 객체는 일련의 키 값 쌍을 포함하는 사전입니다. 객체가 비어 있는지 확인하는 것은 객체에 키-값 쌍이 있는지 확인하는 것과 같습니다. 코드로 작성하면 다음과 같습니다.
if (isEmptyObject(obj)) { // obj is empty } else { // not empty }
isEmptyObject 구현에 관해서는 jQuery에 매우 창의적인 방법이 있습니다. 코드를 참조하세요.
function isEmptyObject(obj) { for (var key in obj) { return false; } return true; }
Javascript는 기본적으로 isEmpty() 메서드를 제공하지 않지만 모든 키-값 쌍을 순회하는 데 사용할 수 있는 반복자를 제공합니다. 따라서 jQuery가 수행하는 작업은 탐색을 시도하는 것입니다. 키-값 쌍이 있으면 객체가 비어 있지 않으며 false를 직접 반환한다는 의미입니다. 효율성 측면에서는 하나의 요소만 읽고 기껏해야 루프에서 벗어나는 오버헤드가 어느 정도 있기 때문에 실제 성능은 기본 방법보다 크게 나쁘지는 않습니다.
function isNullObj(obj){ for(var i in obj){ if(obj.hasOwnProperty(i)){ return false; } } return true; }
위 내용은 이 글의 내용입니다. 모두 마음에 드셨으면 좋겠습니다.
더 많은 관련 튜토리얼을 보려면 JavaScript 기본 튜토리얼
을 방문하세요.