2012-01-27 11 views

risposta

10

Una proprietà di un oggetto deve essere enumerabile se si desidera poter accedervi quando si esegue l'iterazione di tutte le proprietà dell'oggetto. Esempio:

var obj = {prop1: 'val1', prop2:'val2'}; 
for (var prop in obj){ 
    console.log(prop, obj[prop]); 
} 

In questo tipo di esemplificazione, enumerabile è sempre vero, questo vi darà un output di:

prop1 val1 
prop2 val2 

Se si sarebbe usato Object.create() in questo modo:

obj = Object.create({}, { prop1: { value: 'val1', enumerable: true}, prop2: { value: 'val2', enumerable: false} }); 

il ciclo for accede solo a prop1, non a prop2. Usando Object.create() le proprietà sono impostate con enumerable = false di default.

+0

Si noti che 'enumerable' è impostato su false in' Object.create' – Raynos

+0

grazie, mi riferivo all'altra istanziazione. ho dimenticato di dirlo. Modificherò la mia risposta –

+0

Grazie - che mi ha chiarito per me =] – ryanve

Problemi correlati