Modern tarayıcılarda Object.getOwnPropertyNames
, bir nesne üzerindeki tüm özellikleri (hem numaralandırılabilir hem de numaralandırılamaz) almak için kullanabilirsiniz. Örneğin:
function Person ( age, name ) {
this.age = age;
this.name = name;
}
Person.prototype.greet = function () {
return "My name is " + this.name;
};
Person.prototype.age = function () {
this.age = this.age + 1;
};
Object.getOwnPropertyNames( Person.prototype );
Bunun yalnızca kendi mülklerini aldığını unutmayın , dolayısıyla prototip zincirinde başka yerlerde bulunan özellikleri döndürmeyeceğini unutmayın. Ancak, bu sizin talebiniz gibi görünmüyor, bu nedenle bu yaklaşımın yeterli olduğunu varsayacağım.
Yalnızca numaralandırılabilir özellikleri görmek istiyorsanız, bunun yerine kullanabilirsiniz Object.keys
. Bu, numaralandırılamayan constructor
özelliği çıkararak aynı koleksiyonu döndürür .