-
Notifications
You must be signed in to change notification settings - Fork 0
/
function-arrow.html
109 lines (94 loc) · 3.87 KB
/
function-arrow.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
100
101
102
103
104
105
106
107
108
109
<!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>Arrow Function</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>
/*
## Arrow Function
● Arrow function adalah alternatif pembuatan function yang lebih sederhana dari function biasanya
● Namun terdapat limitasi dan juga tidak bisa digunakan di semua situasi
● Dinamakan arrow function karena menggunakan tanda => (seperti panah)
● Berikut contoh beberapa kekurangan arrow function :
○ tidak memiliki fitur arguments object
○ tidak bisa menggunakan function generator
○ tidak bisa mengakses this (yang nanti akan dibahas di function di object)
○ tidak bisa mengakses super (yang nanti akan dibahas di JavaScript Object Oriented Programming)
## Arrow Function Tanpa Block
● Jika sebuah arrow function isinya sederhana, misal hanya satu baris
● Kita bisa membuat arrow function tanpa harus menggunakan block
## Arrow Function Return Value
● Arrow function bisa mengembalikan value, sama seperti function biasanya
● Jika menggunakan block, maka kita perlu menggunakan kata kunci return
● Jika tidak menggunakan block, kita tidak perlu menggunakan kata kunci return
## Arrow Function Tanpa Kurung Parameter
● Jika parameter di arrow function hanya satu, kita bisa tidak menggunakan kurung pada parameter
## Kode : Arrow Function Sebagai Parameter
● Karena arrow function sama seperti anonymous function
● Jadi kita juga bisa menggunakan arrow function sebagai parameter di function lain
*/
// =====Kode : Membuat Arrow Function=====
document.writeln(`<p>=====Membuat Arrow Function=====</p>`);
const sayHello = (name) => {
document.writeln(`<p>Hello ${name}</p>`);
let i = 1;
while (true) {
document.writeln(`<p>Hello ${name}</p>`);
i++;
if (i > 10) {
break;
}
}
}
sayHello("Fauzan");
// =====Kode : Arrow Function Tanpa Block=====
document.writeln(`<p>=====Arrow Function Tanpa Block=====</p>`);
const sayHelloWB = (name) => document.writeln(`<p>Hello ${name}</p>`);
sayHelloWB("Fauzan Juga")
// =====Kode : Arrow Function Return Value=====
document.writeln(`<p>=====Arrow Function Return Value=====</p>`);
const sum = (a, b) => a + b;
document.writeln(`<p>${sum(50, 1)}</p>`)
// =====Kode : Arrow Function Tanpa Kurung Parameter=====
document.writeln(`<p>=====Arrow Function Tanpa Kurung Parameter=====</p>`);
const sayStory = text => document.writeln(`<p>Lo keren bisa sampai sini bung ${text}</p>`);
sayStory("Fauzan");
// =====Kode : Arrow Function Sebagai Parameter=====
document.writeln(`<p>=====Arrow Function Sebagai Parameter=====</p>`);
function giveMeName(callbacks) {
callbacks("Fauzan Ahmad");
}
giveMeName((name) => document.writeln(`<p>Hello ${name}</p>`));
</script>
</body>
</html>