Jika ada kelas dalam Java:
class Halo {
int NilaiKita;
public Halo(String var1, int var2) {
// Inisialisasi
this.nilaiKita = var1;
}
public int tes_satu(int var1) {
return var1 * 20;
}
public int dapatkanNilaiKita() {
return this.nilaiKita;
}
}
Dalam Javascript:
// Fungsi itu kelas, kelas itu objek, objek itu fungsi.
function Halo(var1, var2) {
// akan menghasilkan objek this, yaitu instance dari Halo
this.nilaiKita = var1;
// Mengembalikan objek yang baru dibuat
return this;
}
// Prototype menentukan rancangan dari kelas tersebut
Halo.prototype.tes_satu = function(var1) {
return var1 * 20;
}
Halo.prototype.dapatkanNilaiKita = function() {
return this.nilaiKita;
}
var a = Halo("Super Mantap"); // Ingat, di JS tidak perlu mengimplementasi semua variable untuk menjalankan sebuah fungsi
var b = Halo(3, 4);
console.log(a.dapatkanNilaiKita()); // Super Mantap
console.log(b.dapatkanNilaiKita()); // 4
Simple yah? Nah berhubung tidak sedikit yang ingin menghemat tempat, beberapa developer pakai underscore:
// bagian Halo.prototype diganti jadi:
_.extend(Halo.prototype, {
tes_satu = function(var1) { /* code */},
dapatkanNilaiKita : function() { /* ... */ }
});
// ...
Dua duanya, cara pertama sama cara kedua bisa dipergunakan. Pilih saja mana yang enak.