You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/07-operators/article.md
+8-10Lines changed: 8 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,11 +127,11 @@ Kenapa plus unary diaplikasi ke nilai sebelum binarynya? Seperti yang kita lihat
127
127
128
128
## Presedensi operator
129
129
130
-
Jika expresi punya lebih dari satu operator, urutan eksekusi ditentukan oleh *presedensi* mereka, atau dengan kata lain, urutan prioritas implisit operator.
130
+
Jika expresi punya lebih dari satu operator, urutan eksekusi ditentukan oleh *presedensi* mereka, atau dengan kata lain, urutan prioritas default operator.
131
131
132
132
Dari sekolah, kita semua tahu bahwa perkalian dalam expresi `1 + 2 * 2` harus dihitung sebelum penambahan. Itulah arti dari presedensi. Perkalian disebut memiliki *presedensi lebih tinggi* dari penambahan.
133
133
134
-
Tanda kurung mengesampingkan presedensi apapun, jika jika kita tak puas dengan urutan implisit, kita bisa gunakan mereka untuk mengubahnya. Misalnya:`(1 + 2) * 2`.
134
+
Tanda kurung mengesampingkan presedensi apapun, jika jika kita tak puas dengan urutan default, kita bisa gunakan mereka untuk mengubahnya. Misalnya: tulis`(1 + 2) * 2`.
135
135
136
136
Ada banyak operator di JavaScript. Tiap operator punya nomor presedensi masing-masing. Nomor yang lebih besar dieksekusi terlebih dahulu. Jika presedensinya sama, urutan eksekusinya dari kiri ke kanan.
137
137
@@ -199,9 +199,9 @@ alert( a ); // 3
199
199
alert( c ); // 0
200
200
```
201
201
202
-
Di contoh di atas, hasil dari `(a = b + 1)` ialah nilai yang ditetapkan ke `a` (yaitu `3`). Ia kemudian digunakan untuk pengurangan dari `3`.
202
+
Di contoh di atas, hasil dari expresi `(a = b + 1)` ialah nilai yang ditetapkan ke `a` (yaitu `3`). Ia kemudian digunakan untuk evaluasi berikutnya.
203
203
204
-
Kode yang lucu, ya kan? Kita sebaiknya memahami cara ia bekerja, karena kadang kita lihat ia ada dalam librari pihak ke-3, tapi tak boleh menulis apapun seperti yang kita lakukan. Trik macam itu tentu saja tak membuat kode lebih jelas atau lebih terbaca.
204
+
Kodenya lucu, kan? Kita sebaiknya memahami cara ia bekerja, karena kadang kita lihat ia berada dalam librari Javascript, tapi tak boleh menulis apapun seperti yang kita lakukan. Trik macam itu tentu saja tak membuat kode lebih jelas atau lebih terbaca.
205
205
````
206
206
207
207
## Sisa %
@@ -267,7 +267,6 @@ Jadi, ada operator spesial untuk itu:
267
267
```warn
268
268
Inkremen/dekremen cuma bisa diaplikasikan ke variabel. Mencoba menggunakan itu pada nilai seperti `5++` akan menghasilkan galat.
269
269
```
270
-
```
271
270
272
271
Operator `++` dan `--` bisa ditaruh sebelum atau setelah variabel.
273
272
@@ -285,12 +284,11 @@ Untuk melihat perbedaannya, berikut misalnya:
285
284
```js run
286
285
let counter = 1;
287
286
let a = ++counter; // (*)
288
-
```
289
287
290
288
alert(a); // *!*2*/!*
291
289
```
292
290
293
-
Dalam barus`(*)`, bentuk *prefix*`++counter` menginkremen `counter` dan mengembalikan nilai baru, `2`. Jadi, `alert` menampilkan `2`.
291
+
Dalam baris`(*)`, bentuk *prefix*`++counter` menginkremen `counter` dan mengembalikan nilai baru, `2`. Jadi, `alert` menampilkan `2`.
294
292
295
293
Sekarang, mari kita gunakan bentuk postfix:
296
294
@@ -301,7 +299,7 @@ let a = counter++; // (*) ganti ++counter ke counter++
301
299
alert(a); // *!*1*/!*
302
300
```
303
301
304
-
Dalam barus`(*)`, bentuk *postfix*`counter++` juga menginkremen `counter` tapi mengembalikan nilai *lama* (sebelum inkremen). Jadi, `alert` menampilkan `1`.
302
+
Dalam baris`(*)`, bentuk *postfix*`counter++` juga menginkremen `counter` tapi mengembalikan nilai *lama* (sebelum inkremen). Jadi, `alert` menampilkan `1`.
305
303
306
304
Ringkasnya:
307
305
@@ -429,10 +427,10 @@ Di sini, expresi pertama `1 + 2` dievaluasi dan hasilnya dibuang. Lalu, `3 + 4`
429
427
```smart header="Koma punya presedensi sangat kecil"
430
428
Harap ingat bahwa operator koma punya presedensi sangat kecil, lebih kecil dari `=`, jadi tanda kurung penting dalam contoh di atas.
431
429
432
-
Tanpa mereka: `a = 1 + 2, 3 + 4` mengevaluasi `+` terlebih dahulu, penjumlahan tersebut menjadi `a = 3, 7`, lalu operator penetapan `=` menetapkan `a = 3`, dan pada akhirnya angka setelah koma, `7`, tak diproses sehingga ia diabaikan.
430
+
Tanpa mereka: `a = 1 + 2, 3 + 4` mengevaluasi `+` terlebih dahulu, penjumlahan tersebut menjadi `a = 3, 7`, lalu operator penetapan `=` menetapkan `a = 3`, dan sisanya diabaikan. Ini seperti `(a = 1 + 2), 3 + 4`.
433
431
```
434
432
435
-
Kenapa kita butuh operator yang membuang semuanya kecuali bagian akhirnya?
433
+
Kenapa kita butuh operator yang membuang semuanya kecuali expresi akhirnya?
436
434
437
435
Kadang, orang memakai itu dalam konstruksi rumit untuk menaruh beberapa aksi dalam satu baris.
0 commit comments