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-47Lines changed: 8 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,13 +93,7 @@ alert( +"" ); // 0
93
93
94
94
Sebenarnya ia melakukan hal yang sama seperti `Number(...)`, tapi lebih pendek.
95
95
96
-
<<<<<<<HEAD
97
-
Kebutuhan mengkonversi string ke angka sangat sering meningkat. Misalnya, jika kita memperoleh nilai dari field form HTML, mereka biasanya string.
98
-
99
-
Bagaimana jika kita ingin menjumlahkan mereka?
100
-
=======
101
-
The need to convert strings to numbers arises very often. For example, if we are getting values from HTML form fields, they are usually strings. Whatif we want to sum them?
102
-
>>>>>>>8c30654f694fe8682f5631809980be931ee4ed72
96
+
Kebutuhan mengkonversi string ke angka sangat sering meningkat. Misalnya, jika kita memperoleh nilai dari kolom di form HTML, mereka biasanya string. Bagaimana jika kita ingin menjumlahkan mereka?
103
97
104
98
Plus binary akan menambah mereka sebagai string:
105
99
@@ -131,19 +125,11 @@ Kenapa plus unary diaplikasi ke nilai sebelum binarynya? Seperti yang kita lihat
131
125
132
126
## Presedensi operator
133
127
134
-
<<<<<<<HEAD
135
128
Jika expresi punya lebih dari satu operator, urutan eksekusi ditentukan oleh *presedensi* mereka, atau dengan kata lain, urutan prioritas default operator.
136
-
=======
137
-
If an expression has more than one operator, the execution order is defined by their *precedence*, or, in other words, the default priority order of operators.
138
-
>>>>>>>8c30654f694fe8682f5631809980be931ee4ed72
139
129
140
130
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.
141
131
142
-
<<<<<<<HEAD
143
-
Tanda kurung mengesampingkan presedensi apapun, jika jika kita tak puas dengan urutan default, kita bisa gunakan mereka untuk mengubahnya. Misalnya: tulis `(1 + 2) * 2`.
144
-
=======
145
-
Parentheses override any precedence, so if we're not satisfied with the default order, we can use them to change it. For example, write `(1 + 2) * 2`.
146
-
>>>>>>> 8c30654f694fe8682f5631809980be931ee4ed72
132
+
Tanda kurung mengesampingkan presedensi apapun, jadi jika kita tak puas dengan urutan default, kita bisa gunakan mereka untuk mengubahnya. Misalnya: tulis `(1 + 2) * 2`.
147
133
148
134
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.
149
135
@@ -211,15 +197,9 @@ alert( a ); // 3
211
197
alert( c ); // 0
212
198
```
213
199
214
-
<<<<<<< HEAD
215
200
Di contoh di atas, hasil dari expresi `(a = b + 1)` ialah nilai yang ditetapkan ke `a` (yaitu `3`). Ia kemudian digunakan untuk evaluasi berikutnya.
216
201
217
-
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.
218
-
=======
219
-
In the example above, the result of expression `(a = b + 1)` is the value which was assigned to `a` (that is `3`). It is then used for further evaluations.
220
-
221
-
Funny code, isn't it? We should understand how it works, because sometimes we see it in JavaScript libraries, but shouldn't write anything like that ourselves. Such tricks definitely don't make code clearer or readable.
222
-
>>>>>>>8c30654f694fe8682f5631809980be931ee4ed72
202
+
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 tak membuat kode lebih jelas atau dibaca.
223
203
````
224
204
225
205
## Sisa %
@@ -271,22 +251,14 @@ Jadi, ada operator spesial untuk itu:
271
251
272
252
```js run no-beautify
273
253
let counter = 2;
274
-
<<<<<<< HEAD
275
-
counter++; // Cara kerjanya sama dengan counter = counter + 1, tapi lebih pendek
276
-
=======
277
-
counter++; // works the same as counter = counter + 1, but is shorter
278
-
>>>>>>> 8c30654f694fe8682f5631809980be931ee4ed72
254
+
counter++; // cara kerjanya sama dengan counter = counter + 1, tapi lebih pendek
279
255
alert( counter ); // 3
280
256
```
281
257
-**Decrement**`--` menurunkan variabel sebanyak 1:
282
258
283
259
```js run no-beautify
284
260
let counter = 2;
285
-
<<<<<<< HEAD
286
-
counter--; // Cara kerjanya sama dengan counter = counter - 1,tapi lebih pendek
287
-
=======
288
-
counter--; // works the same as counter = counter - 1, but is shorter
289
-
>>>>>>> 8c30654f694fe8682f5631809980be931ee4ed72
261
+
counter--; // cara kerjanya sama dengan counter = counter - 1,tapi lebih pendek
290
262
alert( counter ); // 1
291
263
```
292
264
@@ -453,17 +425,10 @@ Di sini, expresi pertama `1 + 2` dievaluasi dan hasilnya dibuang. Lalu, `3 + 4`
453
425
```smart header="Koma punya presedensi sangat kecil"
454
426
Harap ingat bahwa operator koma punya presedensi sangat kecil, lebih kecil dari `=`, jadi tanda kurung penting dalam contoh di atas.
455
427
456
-
<<<<<<< HEAD
457
-
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`.
458
-
```
459
-
460
-
Kenapa kita butuh operator yang membuang semuanya kecuali expresi akhirnya?
461
-
=======
462
-
Without them: `a = 1 + 2, 3 + 4` evaluates `+` first, summing the numbers into `a = 3, 7`, then the assignment operator `=` assigns `a = 3`, and the rest is ignored. It's like `(a = 1 + 2), 3 + 4`.
428
+
Tanpa mereka: `a = 1 + 2, 3 + 4` mengevaluasi `+` terlebih dahulu, menjumlahkan mereka menjadi `a = 3, 7`, lalu operator penetapan `=` menetapkan `a = 3`, dan sisanya diabaikan. Ini seperti `(a = 1 + 2), 3 + 4`.
463
429
```
464
430
465
-
Why do we need an operator that throws away everything except the last expression?
466
-
>>>>>>> 8c30654f694fe8682f5631809980be931ee4ed72
431
+
Kenapa kita butuh operator yang membuang semuanya kecuali expresi terakhir?
467
432
468
433
Kadang, orang memakai itu dalam konstruksi rumit untuk menaruh beberapa aksi dalam satu baris.
469
434
@@ -476,8 +441,4 @@ for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) {
476
441
}
477
442
```
478
443
479
-
<<<<<<< HEAD
480
-
Trik macam ini dipakai di banyak framework JavaScript. Itulah kenapa kita membahas mereka. Tapi, biasanya, mereka tak meningkatkan keterbacaan kode sehingga kita sebaiknya pikir-pikir dulu sebelum menggunakan mereka.
481
-
=======
482
-
Such tricks are used in many JavaScript frameworks. That's why we're mentioning them. But usually they don't improve code readability so we should think well before using them.
483
-
>>>>>>> 8c30654f694fe8682f5631809980be931ee4ed72
444
+
Trik macam ini dipakai di banyak framework JavaScript. Itulah kenapa kita membahas mereka. Tapi, biasanya, mereka tak membuat kode mudah dibaca sehingga kita sebaiknya pikir-pikir dulu sebelum menggunakan mereka.
0 commit comments