Ketika kita mempelajari JavaScript, penting untuk memahami struktur dasar dari kode. Struktur kode mencakup berbagai elemen yang membentuk program JavaScript.
Dalam artikel ini, kita akan membahas tentang statement, expression, komentar, literals, semicolons, indentation, white spaces, identifier, naming convention, case sensitivity, dan reserved word dalam JavaScript.
Statement
Statement (pernyataan) dalam JavaScript adalah instruksi yang dieksekusi oleh mesin JavaScript. Setiap statement diakhiri dengan tanda titik koma (;).
Contoh penggunaan statement:
Setiap statement ditulis pada baris terpisah untuk membuat kode lebih mudah dibaca. Meskipun kita bisa menuliskan dalam satu baris dengan dipisahkan koma, memisahnya menjadi beberapa baris itu lebih baik.
Expression
Expression (ekspresi) adalah kombinasi dari nilai, variabel, operator, dan pemanggilan fungsi yang menghasilkan nilai. Mereka digunakan untuk melakukan operasi atau menghasilkan hasil yang diperlukan.
Contoh penggunaan expression:
Kita masukkan ekspresi ke statament:
Dalam kode `let sum = 2 + 3;
`, terdapat ekspresi dan statement.
-
Ekspresi: `
2 + 3
`
Ekspresi dalam kode tersebut adalah `2 + 3`. Ini adalah ekspresi penjumlahan yang menghasilkan nilai 5.
-
Statement: `
let sum = 2 + 3;
`
Ini adalah sebuah statement deklarasi variabel `sum` dan menginisialisasinya dengan nilai hasil dari ekspresi `2 + 3`, yaitu 5.
Literals
Literals adalah nilai yang ditulis secara langsung dalam kode tanpa melalui perhitungan atau operasi khusus.
Mereka berupa tipe data tertentu seperti `string`, `number`, `boolean`, `array`, `object`, dan lain-lain.
Contoh penggunaan literals:
Dalam contoh `let
name
=
"Annie";
`, ini adalah sebuah statement deklarasi variabel `name` dengan inisialisasi
berupa string literal "Annie".
Comments
Komentar dalam JavaScript digunakan untuk memberikan penjelasan, dokumentasi, atau menonaktifkan kode sementara atau mencegah kode tersebut dari evaluasi atau eksekusi.
Ada dua jenis komentar dalam JavaScript:
- `Single Line Comment` atau komentar satu baris ( // ), dan
- `Multi-line Comments` atau komentar multi-baris ( /* ... */ ).
Contoh penggunaan komentar:
Komentar untuk mencegah eksekusi kode:
Kode di atas tidak akan dieksekusi saat program dijalankan.
Semicolons
Semicolon (;) digunakan dalam JavaScript sebagai tanda pemisah antara pernyataan (statement) yang berbeda.
Contoh penggunaan semicolon:
Meskipun JavaScript memungkinkan penambahan semicolon otomatis (`automatic semicolon insertion`), disarankan untuk menambahkan `semicolon` secara eksplisit untuk menghindari kesalahan.
White Spaces
White spaces (spasi atau karakter kosong) adalah karakter yang tidak terlihat seperti spasi, tab, atau baris baru.
Mereka digunakan untuk memisahkan kata kunci, operator, dan operand. JavaScript akan mengabaikan white spaces kecuali jika mereka diperlukan untuk memisahkan elemen-elemen tersebut.
Contoh penggunaan white spaces:
Indentation
Indentation adalah penggunaan spasi atau tab untuk mengatur tata letak kode. Indentation juga termasuk white spaces yang akan diabaikan oleh JavaScript.
Meskipun JavaScript mengabaikan indensasi, praktik yang baik adalah menggunakannya untuk meningkatkan kejelasan dan kebersihan kode.
Contoh penggunaan indentation:
Identifier
Identifier adalah nama yang digunakan untuk mengidentifikasi variabel, fungsi, objek, atau label.
Identifier harus mengikuti beberapa ketentuan sebagai berikut:
-
Identifier dapat terdiri dari kombinasi huruf (A-Z atau a-z), angka, tanda
garis bawah `_`, dan simbol dolar `$`.
let sisa_$saldo_Rekening = 1250000;
-
Identifier harus diawali dengan huruf, tanda garis bawah, atau simbol dolar.
Tidak boleh dimulai dengan angka atau karakter spesial lainnya.
let nama = "ZendCode"; // Benarlet $ = "Dolar Sign"; // Benarlet _ = "Underscore"; // Benarlet $umur = 25; // Benarlet _alamat = "Jalan Raya"; // Benarlet 123abc = "Error"; // Salahlet #pagar = "Error"; // Salah
-
Identifier tidak boleh mengandung operator matematika seperti tanda min
`-`.
let alamat-rumah = "Jalan Raya"; // Salah! JavaScript akan menganggap ( `alamat` dikurangi `rumah` )
-
Identifier yang terdiri dari dua kata atau lebih tidak boleh dipisahkan
dengan spasi. Gunakan garis bawah atau camelCase sebagai gantinya.
let nama depan = "Zend"; // Salahlet namaDepan = "Zend"; // Benarlet nama_depan = "Zend"; // benar
-
Identifier bersifat `case-sensitive`, artinya huruf besar dan huruf
kecil dianggap berbeda.
Contoh: `namadepan` dan `namaDepan` adalah dua identifier yang berbeda.
-
Identifier tidak boleh menggunakan `reserved words`, yaitu
berbagai kata kunci yang memiliki peran khusus yang telah ditentukan dalam
sintaksis JavaScript.
Contoh: `function` adalah reserved word untuk membuat sebuah fungsi. Tidak dapat digunakan sebagai indentifier.
# Naming Convention
Naming convention adalah kebiasaan pemberian nama pada identifier. Saya mendefinisikannya sebagai `pola penamaan` identifier yang umum digunakan dalam pemrograman apapun.
Naming convention bukan aturan baku yang wajib diikuti. Tidak mengikutinya tidak akan menyebabkan program menjadi error.
Berbeda dengan aturan identifier, jika tidak diikuti dengan benar, maka akan menyebabkan error pada program.
Namun naming convention ini sebaiknya kamu ikuti untuk membuat kode program yang lebih terstruktur dan rapih.
Contoh konvensi penamaan yang umum:
-
Gunakan gaya `camelCase` atau awali dengan huruf kecil (lower case)
untuk variabel dan fungsi.
const namaDepan = "Kurnia"; // camelCase untuk nama variabel lebih dari satu kataconst situs = "zendcode.web.id"; // Lower Case untuk mengawali nama variabel
function namaFungsi() {// camelCase untuk nama fungsi}
-
Gunakan gaya `PascalCase` atau awali dengan huruf kapital (UPPER
CASE) untuk nama kelas (`class`).
class NamaKelas {// Nama kelas dengan PascalCase}
class Kelas {// Nama kelas berawalan huruf kapital}
-
Gunakan huruf kapital untuk konstanta.
const PI = 3.14;
Number.MAX_SAFE_INTEGER; // `MAX_SAFE_INTEGER` adalah konstanta
- Hindari pemberian nama identifier dengan symbol dolar atau garis bawah.
- Hindari pemberian nama identifier dengan hanya satu karakter.
- Identifier sebaiknya memilih nama yang deskriptif dan memiliki arti yang jelas. Ini membantu meningkatkan keterbacaan dan pemahaman kode.
- Gunakan Bahasa Inggris untuk memudahkan kolaborasi dengan programmer di berbagai penjuru dunia.
Reserved Word
Reserved word (kata kunci terpesan) adalah kata-kata yang memiliki arti spesial, yang telah dipesan oleh JavaScript untuk digunakan dalam sintaksis. Kita tidak dapat menggunakan reserved word sebagai nama identifier.
Berikut daftar Reserved Word dalam JavaScript yang harus kamu ketahui:
Kata Kunci | Deskripsi |
---|---|
break | Digunakan untuk menghentikan eksekusi loop atau switch statement. |
case | Digunakan dalam switch statement untuk menentukan blok kode yang akan dieksekusi jika nilai tertentu cocok. |
catch | Digunakan dalam blok try...catch untuk menangkap dan menangani kesalahan yang terjadi. |
class | Digunakan untuk mendefinisikan sebuah kelas. |
const | Digunakan untuk mendeklarasikan variabel dengan nilai tetap (konstan) yang tidak dapat diubah setelah diinisialisasi. |
continue | Digunakan untuk menghentikan iterasi saat ini dalam loop dan melanjutkan ke iterasi berikutnya. |
debugger | Digunakan untuk menandai titik henti dalam kode untuk keperluan debugging. |
default | Digunakan dalam switch statement sebagai blok kode yang akan dieksekusi jika tidak ada kasus yang cocok. |
delete | Digunakan untuk menghapus properti dari objek atau elemen dari array. |
do | Digunakan untuk membuat loop do...while, yang akan mengulang blok kode setidaknya sekali dan kemudian berulang jika kondisi terpenuhi. |
else | Digunakan dalam statement if...else untuk menentukan blok kode yang akan dieksekusi jika kondisi tidak terpenuhi. |
export | Digunakan untuk mengekspor variabel, fungsi, atau kelas agar dapat diakses dari modul lain. |
extends | Digunakan untuk membuat kelas turunan (subclass) dari kelas yang ada. |
finally | Digunakan dalam blok try...catch...finally untuk menentukan blok kode yang akan selalu dieksekusi, terlepas dari apakah ada kesalahan atau tidak. |
for | Digunakan untuk membuat loop for, yang mengulang blok kode dengan kondisi yang ditentukan. |
function | Digunakan untuk mendefinisikan sebuah fungsi. |
if | Digunakan untuk menentukan blok kode yang akan dieksekusi jika kondisi terpenuhi. |
import | Digunakan untuk mengimpor variabel, fungsi, atau kelas dari modul lain. |
in | Digunakan untuk memeriksa apakah sebuah properti ada dalam objek. |
instanceof | Digunakan untuk memeriksa apakah sebuah objek merupakan instance dari sebuah kelas. |
let | Digunakan untuk mendeklarasikan variabel dengan lingkup blok (block scope). |
new | Digunakan untuk membuat instance baru dari sebuah objek atau kelas. |
return | Digunakan dalam fungsi untuk mengembalikan nilai dari fungsi tersebut. |
super | Digunakan dalam kelas turunan untuk mengakses dan memanggil metode atau properti dari kelas induk (superclass). |
switch | Digunakan untuk membuat statement switch, yang memungkinkan pengujian nilai yang berbeda dan menjalankan blok kode yang sesuai. |
this | Digunakan untuk merujuk pada objek saat ini. |
throw | Digunakan untuk melempar (throw) sebuah kesalahan (error). |
try | Digunakan untuk membuat blok try...catch yang mencoba mengeksekusi kode yang mungkin menghasilkan kesalahan (error), dan menangani kesalahan tersebut jika terjadi. |
typeof | Digunakan untuk mengembalikan tipe data dari sebuah variabel atau ekspresi. |
var | Digunakan untuk mendeklarasikan variabel dengan lingkup fungsi (function scope). |
void | Digunakan untuk mengevaluasi ekspresi tanpa mengembalikan nilai. |
while | Digunakan untuk membuat loop while, yang mengulang blok kode selama kondisi terpenuhi. |
with | Digunakan untuk menciptakan lingkup tambahan dengan objek tertentu, sehingga properti dari objek tersebut dapat diakses secara langsung tanpa menyebutkan objeknya. |
yield | Digunakan dalam fungsi generator untuk memberikan nilai yang dihasilkan oleh generator. |