-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunction-rest-parameter.html
99 lines (84 loc) · 3.31 KB
/
function-rest-parameter.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rest Parameter</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
padding: 2rem;
}
p {
padding: .5rem 0;
}
div {
width: 100%;
height: 100vh;
background-color: rgb(0, 195, 255);
font-weight: 800;
font-size: 2rem;
font-family: sans-serif;
text-transform: uppercase;
display: flex;
justify-content: center;
align-items: center;
color: #0e0e0e;
}
</style>
</head>
<body>
<script>
/*
## Rest Parameter
● Rest Parameter adalah fitur dimana kita bisa mengirim data sebanyak-banyak nya pada satu parameter, dan secara otomatis akan di konversi menjadi Array
● Untuk membuat rest parameter, ada ketentuannya
● Rest parameter hanya boleh ada satu di function, tidak boleh lebih dari satu
● Rest parameter hanya boleh berada di posisi paling akhir, tidak boleh di depan atau di tengah, kecuali memang cuma ada 1 parameter
● Di bahasa pemrograman lain, ada juga yang bilang ini adalah variable argument
## Spread Syntax
● Kadang kita terlanjur memiliki data berupa Array
● Tapi untungnya kita juga bisa mengirim Array ke Rest Parameter
● Kita bisa gunakan … (titik tiga kali) diikuti dengan array nya ketika memanggil function
● Fitur ini dinamakan Spread Syntax
## Arguments Object
● Sebelum ada fitur rest parameter, di JavaScript sudah ada fitur yang bernama arguments object
● Ini adalah fitur dimana kita bisa mengambil semua parameter dalam bentuk array dengan menggunakan object bernama arguments
● arguments secara otomatis bisa digunakan di function
● Namun perlu diingat, bahwa untuk JavaScript saat ini, lebih baik disarankan menggunakan rest parameter dibanding arguments object
## Function Sebagai Value
● Function tidak hanya bisa digunakan sebagai kode program yang dieksekusi, tapi bisa juga sebagai value
● Artinya, function bisa disimpan di variable, bisa juga dikirim melalui parameter ke function lainnya
*/
// Kode : Rest Parameter
function sum(name, ...data) {
let total = 0;
for (const item of data) {
total += item;
}
document.writeln(`<p>Total ${name} is ${total}</p>`);
}
sum("Mango", 50, 40, 3);
sum("Coconut", 50, 40, 3);
sum("Papaya", 50, 40, 3);
// Kode : Spread Syntax
const values = [10, 25, 34, 21, 22];
sum("Test", ...values);
// Kode : Arguments Object
document.writeln(`<p>=====Arguments Object (Old Sum)=====</p>`);
function oldSum() {
let total = 0;
for (const item of arguments) {
total += item;
}
document.writeln(`<p>Total is ${total}</p>`);
}
oldSum(1, 3, 2, 5, 2, 3);
</script>
</body>
</html>