3 Lexical Structures
Struktur leksikal adalah suatu kumpulan aturan dasar yang mengatur tata cara menuliskan program dengan bahasa yang kita pilih, misalnya disini struktur leksikal yang akan kita bahas adalah JavaScript.
Struktur leksikal mengatur sintaks (tata cara penulisan) bahasa JavaScript. terkait penamaan variable, karakter delimiters untuk comments, dan tata cara memisahkan satu statement dengan statement yang lain.
Ada 6 hal yang akan kita coba untuk pelajari secara langsung melalui penulisan kode JavaScript
- Sensitivitas penamaan variabel, aturan spasi antar sintaks, dan spasi antar baris
- Comments
- Literal
- Identifiers dan Reserved words
- Unicode
- Penggunaan titik koma (semicolon)
3.1 Case sensitivity, spaces, and line breaks
Huruf besar kecil menentukan pembeda antara nama variables:
case-sensitive.jsSpasi antara token (nama variable, tanda operator dan nilai variable) dapat diabaikan
ignored-space.jsLine breaks dapat diabaikan dalam penulisan kode JavaScript asalkan dipisahkan dengan titik koma (semicolon)
ignored-linebreaks.js
3.3 Identifiers and Reserved Words
Identifier berarti nama. identifier biasanya digunakan untuk menamakan nilai konstanta, variable, properties, class, dan label untuk iterasi dalam perulangan.
Identifier dalam JavaScript harus diawali oleh suatu huruf (bukan angka), garis bawah (underscore) atau tanda dollar (dollar sign). Huruf kedua dan selanjutnya boleh angka, garis bawah, atau tanda dollar.
identifiers-reserved.js// Berikut ini adalah identifier yang legal let i = 0; // i adalah identifier let my_variable_name = "name"; // tanda garis bawah setelah huruf pertama let v13 = 13.3; // angka setelah huruf pertama let _dummy = "dummy"; // boleh diawali tanda garis bawah let $str = 'new string'; // boleh diawali oleh tanda dollar let new$sign = "rupiah"; // tanda dolar boleh setelah huruf pertama console.log(i, my_variable_name, v13, _dummy, $str, new$sign);
Reserved words merupakan kata-kata yang sudah dipakai oleh JavaScript untuk menamakan beberapa prosedur dan tidak bisa digunakan untuk penamaan variable. Berikut adalah daftar reserved words yang umum digunakan oleh JavaScript.
3.4 Unicode
Unicode character adalah daftar kode untuk representasi huruf yang lebih luas. Contohnya seperti huruf-huruf jawa, emoji, latin, jepang, mandarin, dst.
Di dalam JavaScript dapat menggunakan karakter Unicode sebagai identifier,
namun tidak disarankan secara programming convention untuk urusan portability,
artinya program diusahakan sebisa mungkin dapat dipahami oleh banyak orang
dengan berbagai latar belakang bahasa dan abjad yang digunakan.
Namun untuk nilai dari identifiers boleh menggunakan karakter Unicode;
Berikut contoh penggunaan Unicode:
unicode.js
const π = 3.14;
const истинный = true;
const emoji = "🤯"; // unicode emoji sebagai value
const javanese_nya = "ꦚ"; // unicode aksara jawa sebagai value
const otherworld = "異世界"; // unicode kanji sebagai value
console.log(π, истинный, emoji, javanese_nya, otherworld);
// pemanggilan karakter Unicode sebagai idenfier bisa menggunakan cara
// sebagai berikut
let café = 1; // mendefinisikan variable dengan nama identifier memuat unicode
console.log(caf\u00e9, caf\u{E9}) // dua cara untuk memanggil identifier café"
3.5 Optional semicolons
Pada bagian pertama, kita sudah membahas bahwa kita dapat mengabaikan
line breaks dengan cara menggunakan titik koma (semicolon).
Namun kita sebenarnya dapat juga sebaliknya mengabaikan semicolon,
namun kita perlu menambahkan line breaks. Sebagai contoh:
ignored-semicolon.js
Kode di atas setara dengan satu baris kode berikut:
3.2 Comments
Pembuatan komentar sangat perlu untuk memberitahu programmer seperti apa jalannya program yang dia buat.
Komentar satu baris dapat menggunakan double slashes
Komentar untuk baris untuk lebih dari satu baris menggunakan pasangan buka tutup slashes and stars:
/* */
comment-in-js.js ```js // Ini merupakan komentar satu baris