W JavaScript mamy kilka sposobów uzyskania właściwości obiektu, w zależności od tego, co chcemy uzyskać.
1) Object.keys()
, która zwraca wszystkie własne, wyliczalne właściwości obiektu, metodę ECMA5.
2) for...in
pętla, która zwraca wszystkie wyliczalne właściwości obiektu, niezależnie od tego, czy są to własności własne, czy też odziedziczone z łańcucha prototypów.
3) Object.getOwnPropertyNames(obj)
który zwraca wszystkie własne właściwości obiektu, niewymierne lub nie.
Mamy też takie metody, które hasOwnProperty(prop)
pozwalają nam sprawdzić, czy właściwość jest dziedziczona lub faktycznie należy do tego obiektu, a propertyIsEnumerable(prop)
co, jak sama nazwa wskazuje, pozwala nam sprawdzić, czy właściwość jest wyliczalna.
Przy tych wszystkich opcjach nie ma możliwości uzyskania niewliczalnej, niepasującej właściwości obiektu, co chcę zrobić. Czy jest na to sposób? Innymi słowy, czy mogę w jakiś sposób uzyskać listę odziedziczonych, niewliczalnych właściwości?
Dziękuję Ci.