Di browser modern, Anda dapat menggunakan Object.getOwnPropertyNames
untuk mendapatkan semua properti (baik yang dapat dihitung maupun yang tidak dapat dihitung) pada suatu objek. Contohnya:
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 );
Perhatikan bahwa ini hanya mengambil properti sendiri , jadi tidak akan mengembalikan properti yang ditemukan di tempat lain di rantai prototipe. Namun, itu sepertinya bukan permintaan Anda, jadi saya akan menganggap pendekatan ini sudah cukup.
Jika Anda hanya ingin melihat enumerable properti yang dapat , Anda dapat menggunakan Object.keys
. Ini akan mengembalikan koleksi yang sama, dikurangi properti non-enumerable constructor
.