Literal dan variabel dihubungkan oleh operator dan akan menghasilkan ekspresi. JavaScript menyediakan berbagai operator yang memungkinkan programmer menulis sejumlah ekspresi dari yang paling sederhana sampai yang paling sulit.
Contoh :
temp = 24
pada contoh diatas, temp adalah variabel, 24 adalah variabel, = adalah operator, dan temp=24 adalah ekspresi.
Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:
JavaScript memiliki operator binari maupun unari. Suatu operator binari memiliki format.
operand1 operator operand2
Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi dengan operator binari.
Operator unari memiliki dua format:
operand operator
atau
operator operand
Sebagai contoh ekspresi mengunakan operator unari adalah ++y atau y++.
Catatan |
|
Operator pemberi nilai (=) adalah suatu operator binari yang digunakan untuk
memberi nilai ke operand di sisi kiri (biasanya berupa suatu variabel) yang
didasarkan pada nilai operand sebelah kanan (seperti NamaDepan =
"Hendra" atau x = y * 9). Table 3 adalah daftar
singkat operator pemberi nilai.
Table 3. Daftar Operator assignment
Shorthand operator | Artinya | Contoh |
x += y | x = x + Y | x += |
x -= y | x = x - y | x -= |
x *= y | x = x * y | x *= |
x /= y | x = x / y | x /= |
x %= y | x = x % y | x %= |
x <<= y | x = x << y | x <<= |
x >>= y | x = x >> y | x >>= |
x >>>= y | x = x >>> y | x >>>= |
x &= y | x = x & y | x &= 0xC0 |
x |= y | x = x | y | x |= 0x0F |
x ^= y | x = x ^ y | x ^= 0XFF |
Catatan |
|
Sesuai dengan fungsinya operator aritmatika melakukan operasi perhitungan aritmatika terhadap suatu nilai numerik baik dalam literal maupun variabel. JavaScript mendukung operator standard aritmatika untuk penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/). Juga memiliki operator modulus (%), increment (++), decrement (--), dan unary negation (-).
Operator modulus (%) adalah suatu operator binary yang mengembalikan nilai sisa dari suatu pembagian bulat operand1 terhadap operand2. Sebagai contoh, hasil dari 27 % 6 adalah 4.
Operator increment unary adalah menambah nilai satu ke variabel operand, sedangkan operator decrement unary mengurangi satu dari padanya. Bagaimanapun, nilai yang dikembalikan tergantung dari posisi operator terhadap operand Jika operator berada didepan (++x atau --x), nilai yang dikembalikan adalah x+1 atau x-1. Ketika operator dibelakang(x++ or x--), nilai x dikembalikan sebelum ditambah atau dikurang.
Operator khusus unari arithmetic adalah operator unari negation operator. Ia membalikan tanda dari nilai yang diberikan pada suatu variabel. Sebagai contoh, jika x = -7, -x mengubah nilai menjadi 7.
Untuk programmer yang perlu menangani bit. JavaScript menyediakan satu set dari operator bitwise. Untuk operator ini, JavaScript melakukan konversi terhadap operand menjadi integer 32-bit sebelum melakukan operasi padanya. Operator logika bitwise adalah
JavaScript juga menyediakan satu set bitwise untuk operasi shift operand1 terhadap jumlah yang ditentukan di operand2. Operand ini adalah
Operator logika membutuhkan operand dengan nilai Boolean (true atau false) dan mereka akan mengembalikan suatu nilai logika. Operator logika adalah sebagai berikut :
Operator logika NOT adalah suatu unary operator yang mempertahankan nilai
ekspresi.
Operator perbandingan diterapkan pada perbandingan pada data numerik dan data string serta tidak dapat dilakukan pada nilai Boolean. Masing-masing operand harus memiliki tipe yang sama: nemerik dibandingkan dengan numerik atau string dengan string. Hasil dari perbandingan adalah sautu nilai Boolean. Operator perbandingan adalah:
JavaScript juga mendukung ekspresi secara kondisi (conditional expression) yang mana berbentuk.
(kondisi) ? nilai_benar : nilai_salah
Jika kondisi adalah benar, ekspresi memiliki dari true_value. Sebaliknya memiliki nilai dari false_value. Seperti saudaranya yang berbasis bahasa C, ekpresi kondisi adalah ekspresi standard dan dapat digunakan dimana saja, dan dapat dilihat sebagai berikut :
status_baterai = (voltase > 1.3) ? "baik" : "buruk"
Catatan
Bagi programmer C language, tentu saja comparison operator (==) bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan = adalah tidak sama dengan ==.
Operator string (+) mengabung dua nilai string dan mengembalikan satu string dimana merupakan hasil gabungan dari keduanya. Sebagai contoh :
"Java" + "Script"
Menghasilkan
"JavaScript"
Operator shorthand += mengabung string kiri dengan string dikanan operand dan memberikan nilai baru pada operand disebelah kiri.
Dalam ekspresi yang kompleks dimana melibatkan lebih dari satu operator,
urutan operasi dari operator menentukan nilai hasil evaluasi. Dengan menggunakan
tanda kurung, programmer dapat mengatur aturan tersebut. Table .4 adalah urutan
prioritas operasi dari yang paling rendah sampai yang paling tinggi.
Table 4. Prioritas urutan operasi dari prioritas rendah sampai tinggi.
Keterangan | Operator |
Assignment | = += -= *= /= %= <<= >>= >>>= &= ^= |= |
Conditional | ?: |
Logical OR | || |
Logical AND | && |
Bitwise OR | | |
Bitwise XOR | ^ |
Bitwise AND | & |
Equality | == != |
Relational | < <= > >= |
Bitwise shift | << >> >>> |
Addition/subtraction | + - |
Multiply/divide | * / % |
Negation/increment | ! ~ - ++ - |
Call, member | () [] |