JavaScript özellikleri de for..in
halkalarının veya Object.keys
sonuçlarında görünmez anlamına gelir olmayan numaralandırılabilir olabilir.
Object.getOwnPropertyNames
Tüm özellikleri (numaralandırılabilir veya okunamaz) doğrudan bir nesneye almak için kullanabilirsiniz. "Doğrudan" diyorum çünkü normal numaralandırma nesnesinin prototip zincirini ana prototipler üzerinde sayısız özellik elde etmek için ararken, getOwnPropertyNames
bunu yapmıyor.
Böylece Object.getOwnPropertyNames(err)
sadece
['stack',
'arguments',
'type',
'message']
name
özelliği Error.prototype
olmayan bir numaralandırılabilir özelliğidir ve bir Error
örneği Doğrudan ayarlanmış hiçbir zaman göstermektedir. (Prototip geniş özeti: Eğer err.name
erişmeye çalıştığınızda, arama err
şey ortaya çıkıyor, bu nedenle tercüman bir name
özelliği var ki, Error.prototype
bakar.)
deneyin 'Object.getOwnPropertyNames()' yerine 'Object.keys() '. Sayısız olabilirler. –
Örnek olarak, 'Object.getOwnPropertyDescriptor (err, 'stack')' 'sayılabilir: false' gösterir. – apsillers