Skip to content

Instantly share code, notes, and snippets.

@mufid
Created November 21, 2012 17:01
Show Gist options
  • Save mufid/4126049 to your computer and use it in GitHub Desktop.
Save mufid/4126049 to your computer and use it in GitHub Desktop.
Java to Javascript

Object Oriented Javascript

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment