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: id-ID/README.md
+40-36Lines changed: 40 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ for (let i = 0; i < 3; i++) {
92
92
93
93
#### Jawaban: C
94
94
95
-
Karena antrean peristiwa di JavaScript, fungsi callback `setTimeout` disebut _after_ loop telah dijalankan. Karena variabel `i` di loop pertama dideklarasikan menggunakan kata kunci` var`, nilai ini adalah global. Selama perulangan, kita menambah nilai ʻi` sebesar `1` setiap kali, menggunakan operator unary` ++ `. Pada saat fungsi callback `setTimeout` dipanggil,` i` sama dengan `3` di contoh pertama.
95
+
Karena antrean peristiwa di JavaScript, fungsi callback `setTimeout` disebut _after_ loop telah dijalankan. Karena variabel `i` di loop pertama dideklarasikan menggunakan kata kunci` var`, nilai ini adalah global. Selama perulangan, kita menambah nilai `i` sebesar `1` setiap kali, menggunakan operator unary` ++ `. Pada saat fungsi callback `setTimeout` dipanggil,` i` sama dengan `3` di contoh pertama.
96
96
97
97
Pada perulangan kedua, variabel `i` dideklarasikan menggunakan kata kunci` let`: variabel yang dideklarasikan dengan kata kunci `let` (dan` const`) memiliki cakupan blok (blok adalah apa saja di antara `{}`). Selama setiap iterasi, `i` akan memiliki nilai baru, dan setiap nilai dicakup di dalam loop.
Anda tidak dapat menambahkan properti ke constructor seperti yang Anda lakukan dengan objek biasa. Jika Anda ingin menambahkan fitur ke semua objek sekaligus, Anda harus menggunakan prototipe sebagai gantinya. Jadi dalam kasus ini,
382
+
Anda tidak dapat menambahkan properti ke constructor seperti yang Anda lakukan dengan objek biasa. Jika Anda ingin menambahkan fitur ke semua objek sekaligus, Anda harus menggunakan prototipe sebagai gantinya. Jadi dalam kasus ini:
383
383
384
384
```js
385
385
Person.prototype.getFullName=function() {
386
386
return`${this.firstName}${this.lastName}`;
387
387
};
388
388
```
389
389
390
-
akan membuat `member.getFullName()` berfungsi. Mengapa ini bermanfaat? Katakanlah kita menambahkan metode ini ke konstruktor itu sendiri. Mungkin tidak setiap instance `Person` membutuhkan metode ini. Ini akan membuang banyak ruang memori, karena mereka masih memiliki properti itu, yang mengambil ruang memori untuk setiap instance. Sebaliknya, jika kita hanya menambahkannya ke prototipe, kita hanya memilikinya di satu tempat di memori, namun mereka semua memiliki akses ke sana!
390
+
Akan membuat `member.getFullName()` berfungsi. Mengapa ini bermanfaat? Katakanlah kita menambahkan metode ini ke konstruktor itu sendiri. Mungkin tidak setiap instance `Person` membutuhkan metode ini. Ini akan membuang banyak ruang memori, karena mereka masih memiliki properti itu, yang mengambil ruang memori untuk setiap instance. Sebaliknya, jika kita hanya menambahkannya ke prototipe, kita hanya memilikinya di satu tempat di memori, namun mereka semua memiliki akses ke sana!
391
391
392
392
</p>
393
393
</details>
@@ -2685,8 +2685,8 @@ Variables with the `const` and `let` keyword are _block-scoped_. A block is anyt
2685
2685
2686
2686
```javascript
2687
2687
fetch('https://www.website.com/api/user/1')
2688
-
.then(res=>res.json())
2689
-
.then(res=>console.log(res));
2688
+
.then(res=>res.json())
2689
+
.then(res=>console.log(res))
2690
2690
```
2691
2691
2692
2692
- A: The result of the `fetch` method.
@@ -3412,7 +3412,7 @@ JavaScript interprets (or unboxes) statements. When we use bracket notation, it
Under the hood, emojis are unicodes. The unicodes for the heart emoji is `"U+2764 U+FE0F"`. These are always the same for the same emojis, so we're comparing two equal strings to each other, which returns true.
3429
+
Di belakang layar, emoji adalah sebuah unicode. Unicode untuk emoji hati adalah `"U+2764 U+FE0F"`. Keduanya akan selalu sama untuk emoji yang sama, jadi sebetulnya kita telah membandingkan dua string yang sama satu sama lain, yang mana akan menghasilkan true.
3430
3430
3431
3431
</p>
3432
3432
</details>
3433
3433
3434
3434
---
3435
3435
3436
-
###### 108. Which of these methods modifies the original array?
3436
+
###### 108. Manakah metode berikut yang akan memodifikasi array aslinya?
3437
3437
3438
3438
```javascript
3439
-
constemojis= ['✨', '🥑', '😍'];
3439
+
constemojis= ["✨", "🥑", "😍"];
3440
3440
3441
-
emojis.map(x=> x +'✨');
3442
-
emojis.filter(x=> x !=='🥑');
3443
-
emojis.find(x=> x !=='🥑');
3444
-
emojis.reduce((acc, cur) => acc +'✨');
3445
-
emojis.slice(1, 2, '✨');
3446
-
emojis.splice(1, 2, '✨');
3441
+
emojis.map((x)=> x +"✨");
3442
+
emojis.filter((x)=> x !=="🥑");
3443
+
emojis.find((x)=> x !=="🥑");
3444
+
emojis.reduce((acc, cur) => acc +"✨");
3445
+
emojis.slice(1, 2, "✨");
3446
+
emojis.splice(1, 2, "✨");
3447
3447
```
3448
3448
3449
3449
- A: `All of them`
@@ -3456,9 +3456,9 @@ emojis.splice(1, 2, '✨');
3456
3456
3457
3457
#### Jawaban: D
3458
3458
3459
-
With`splice` method, we modify the original array by deleting, replacing or adding elements. In this case, we removed 2 items from index 1 (we removed`'🥑'`and `'😍'`) and added the ✨ emoji instead.
3459
+
Metode`splice`, akan memodifikasi array aslinya dengan cara menghapus, mengganti atau menambahkan elemen. Dalam kasus ini, kami menghapus 2 item dari indeks 1 (kami menghapus`'🥑'`dan`' 😍'`) dan menambahkan emoji ✨ sebagai penggantinya.
3460
3460
3461
-
`map`,`filter`and`slice`return a new array, `find`returns an element, and`reduce`returns a reduced value.
3461
+
`map`,`filter`dan`slice`akan mengembalikan array baru,`find`akan mengembalikan elemen yang dicari, dan`reduce`akan mengembalikan nilai yang telah dikurangi.
In order to iterate over the `members`in each element in the `teams` array, we need to pass `teams[i].members`to the `getMembers` generator function. The generator function returns a generator object. In order to iterate over each element in this generator object, we need to use`yield*`.
4600
+
Untuk melakukan pengulangan pada `members`dalam setiap elemen array `tim`, kita perlu melemparkan `tim[i].members`ke fungsi generator `getMembers`. Fungsi generator akan mengembalikan objek hasil generator. Untuk mengulang setiap elemen dalam objek generator ini, kita perlu menggunakan`yield*`.
4601
4601
4602
-
If we would've written`yield`, `returnyield`, or`return`, the entire generator function would've gotten returned the first time we called the `next` method.
4602
+
Jika kita telah menulis`yield`, `returnyield`, atau`return`, maka seluruh fungsi generator akan dikembalikan saat pertama kali kita memanggil metode `next`.
4603
4603
4604
4604
</p>
4605
4605
</details>
@@ -4920,14 +4920,14 @@ Mencatat `animals[dog]`, atau sebenarnya `animals["object Object"]` karena mengo
Fungsi `updateEmail` adalah fungsi panah, dan tidak terikat ke objek `user`. Artinya, kata kunci `this` tidak merujuk ke objek `user`, tetapi merujuk pada cakupan global dalam kasus ini. Nilai`email` dalam objek `user` tidak diperbarui. Saat memasukkan nilai `user.email`, nilai asli `[email protected]` akan dikembalikan.
0 commit comments