La lunghezza di un oggetto in JS

fonte: http://gabrieleromanato.com/2012/03/javascript-ottenere-la-dimensione-e-il-numero-di-membri-di-un-oggetto/
 
thanks!
La seguente funzione conteggia tutti i membri di un oggetto, ossia quelli direttamente accessibili tramite la catena dell’ereditarietà basata sull’oggetto prototype:


function objectSize(obj) {
  var objectSize = 0;
  for (key in obj){
    if (obj.hasOwnProperty(key)) {
      objectSize++;
    }
  }
  return objectSize;
}

Esempio d’uso:


var my = {
	a: 1,
	b: 'Test'
};
console.log(objectSize(my)); // 2

Il problema è che dall’iterazione vengono esclusi i membri privati dell’oggetto.