Var atau Const pada JavaScript

Lebih baik menggunakan var atau const pada javascript ?

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Diperbarui 4 tahun yang lalu

7 Jawaban:

Var itu variable gan. Kalo kira2 mw diisi ulang nilainya ya pake var Const itu konstanta nilai yg udah diisi pertama ga boleh diganti. Musti tetep itu sampe akhir program Kalo di kuliahan ada pelajaran atau buku struktur data deh gan disitu lebih jelasnya.

avatar QaiserLab
@QaiserLab

366 Kontribusi 390 Poin

Dipost 7 tahun yang lalu

Kalau untuk selector alangkah baiknya menggunakan Const atau Var ya ? contohnya

document.getElementById('sekolah-koding')
avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

Mungkin agan berfikir karena selectornya ga kan berubah2 lagi jadi agan prefer pake konstanta. Tapi biasanya konstanta dipake utk nilai2 default settingan dan parameter gan. Terus dibuat pake huruf besar. Misal const MALE = 1; const FEMALE = 2; const BG_BLACK = '#000000'. Tapi terserah agan aja sih itu. Ni jaman dulu (jaman ms. Dos) masalah bedain konstanta ma variable kerasa, soalnya dulu memori komputer kecil. Jadi kalo bisa lebih baik dijadikan konstanta karena konsumsi memori kecil. Skarang komputer dah canggih, perbedaan dah ga kerasa lagi. Jadi ni lebih berhubungan dengan kerapihan program yg agan tulis daripada performa.

avatar QaiserLab
@QaiserLab

366 Kontribusi 390 Poin

Dipost 7 tahun yang lalu

Tapi sebenarnya apakah penggunaan const bener2 mempengaruhi proses pembacaan pada javascript menjadi lebih lambat walaupun hanya sedikit ? Sekarang ini ane jarang banget make var di javascript, alasannya mungkin karena ngikut2in orang lain di video tutorial youtube yang kebanyakan make const dan let. kyk web yang lg ane bikin jg g make var lg. cekidot :

function showData(product, vendor, target) {
	dbRef.ref(product + '/' + vendor + '/category').orderByChild('no').on('child_added', function(snap) {
		const newDiv = document.createElement('div');
		newDiv.innerHTML = 	'<div class="table-head">' + snap.key +'</div>' +
						   	'<div class="table" id="table-' + snap.key + '"></div>';
		const el = document.getElementById(target);
		el.appendChild(newDiv);

		dbRef.ref(product + '/' + vendor + '/' + snap.key).orderByChild('no').on('child_added', function(snapshot) {
			newRow(snap, snapshot, vendor);
		});
	});
}
function showDataHybrid(product, vendor) {
	let test = 'a';
	dbRef.ref(product + '/' + vendor + '/category').orderByChild('no').on('child_added', function(snap) {
		if (test == 'a') {
			const newDiv = document.createElement('div');
			const left = document.getElementById('left');
			newDiv.innerHTML = 	'<div class="table-head">' + snap.key +'</div>' +
							   	'<div class="table" id="table-' + snap.key + '"></div>';
			left.appendChild(newDiv);

			dbRef.ref(product + '/' + vendor + '/' + snap.key).orderByChild('no').on('child_added', function(snapshot) {
				newRow(snap, snapshot, vendor);
			});
			test = 'b';
		} else {
			const newDiv = document.createElement('div');
			const right = document.getElementById('right');
			newDiv.innerHTML = 	'<div class="table-head">' + snap.key +'</div>' +
							   	'<div class="table" id="table-' + snap.key + '"></div>';
			right.appendChild(newDiv);

			dbRef.ref(product + '/' + vendor + '/' + snap.key).orderByChild('no').on('child_added', function(snapshot) {
				newRow(snap, snapshot, vendor);
			});
			test = 'a';
		}
	});
}

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

kalau sedikit, harusnya sih ada pengaruh gan. coba deh baca2 dikit tentang konstanta, variable dan pointer di C/C++. biasanya dibahas tuh bagaimana konstanta/variable itu disimpan dimemori. iya gan boleh juga tuh, ngikutin mayoritas orang, kalo emang agan ngeliat begitu. siapa tau itu penulisan yg lebih baik. ini sy share aja berdasar informasi yg sy ketahui pribadi.

kalau pengalaman sy pribadi sih, utk neken performa yg lebih cepet. sy lebih ke minimalisir logic proses ke arah yg lebih efisien gan, nimbang sy mikirin teknis penulisan codingnya, karena itu secara real kerasa. kalau penulisan coding sy bakal ikutin yg lebih rapih dan lebih mayoritas dipake aja, itu juga yg sy tau, sy ga terlalu nyari2, karena ini penting juga tapi menurut sy masih problem minor, yg mayor itu performa. terus upaya utk neken performa juga sy lakuin, dengan mengurangi proses bulak-balik antara satu wadah ke wadah lain. contoh sy lebih prefer narok fungsi-fungsi data di store procedure SQL dan melakukan relasi di level database dengan virtual table (ketimbang pake ORM PHP), karena kalo kita bebanin proses data lebih banyak di PHP, antara (wadah) database dan PHP, terjadi proses bulak-balik. kan lebih baik selesai dulu di database baru dikembalikan ke PHP daripada bulak-balik.

sebenernya sih nomor pertama coding agan itu readable aja. kalo teknis generalisasi yg lain, itu juga ok diterapin, cuma sy mah ga terlalu dipikirin gan. yg sy pikirin itu readable dulu, biar kalo suatu hari sy terusin enak nerusinnya, atau ada orang yg over handle dia ga bingung (mungkin disini perlunya style coding yg umum)

avatar QaiserLab
@QaiserLab

366 Kontribusi 390 Poin

Dipost 7 tahun yang lalu

Di C/C++ berlaku jg untuk javascript ?

avatar wandifrog
@wandifrog

274 Kontribusi 56 Poin

Dipost 7 tahun yang lalu

Ane gak paham C++ atau C. Penggunaan let dan const di javascript itu untuk menghindari 'hoisting', atau variable yang jadi global kalau pakai keyword <pre> var </pre>. Di javascript, hanya <pre> function </pre>saja yang memiliki lexical/block scope, artinya kalau memakai keyword <pre> var </pre>, pasti akan jadi global variable kecuali dia ada di dalam function.

Javascript itu by default bikin <pre> var = undefined </pre> secara global kalau pakai keyword var (kalau berada di luar function). Nah, const di javascript artinya tidak boleh melakukan assignment ulang terhadap variable yang sama, tapiii, boleh melakukan mutasi pada value variable tersebut, misalkan variable tersebut value nya berupa object atau array.

avatar armanrozika
@armanrozika

29 Kontribusi 23 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban