JavaScript "per ... in" ciclo

Esempio

avvertimento
per ... in è inteso per iterare su chiavi di oggetti, non su indici di array. In genere è sconsigliato l'uso del loop in un array . Comprende anche le proprietà del prototipo, quindi potrebbe essere necessario verificare se la chiave si trova all'interno dell'oggetto usando hasOwnProperty . Se alcuni attributi nell'oggetto sono definiti dal metodo defineProperty/defineProperties e si imposta enumerable: false param enumerable: false , tali attributi saranno inaccessibili.

var object = {"a":"foo", "b":"bar", "c":"baz"};
// `a` is inaccessible
Object.defineProperty(object , 'a', {
        enumerable: false,
});
for (var key in object) {
    if (object.hasOwnProperty(key)) {
      console.log('object.' + key + ', ' + object[key]);
    }
}

Uscita prevista:

oggetto.b, bar
object.c, baz