-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path1f-basicOp.js
125 lines (96 loc) · 2.98 KB
/
1f-basicOp.js
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Dasar operator matematik
// Istilah unary, binary,operand
// operand : objek yang dikenai operasi matematik
// contoh : 2+3
// 2 & 3 adalah operand, + adalah operator
// operand alias argumen
// remainder % (sisa bagi)
// di javascript, % bukan persen melainkan operator sisa bagi
// contoh :
console.log(5%2); // 5/2 = 2 sisa 1 maka jawabannya: 1
console.log(8%3); // output :2
// exponential * (pangkat)
// berlaku juga untuk pangkat pecahan atau akar pangkat
console.log('akar pangkat 4: ', 4**(1/2))
// ------------------------- //
// String concatenation dg binary +
//contoh :
let s = 'my' + 'string';
console.log(s); // output : mystring
// nb : jika salah satu operand adalah string, maka operand lain dikonversi jd string
console.log(1 + '9'); // output : 19
console.log('1' + 9); // output : 19
// jika operator '+' berusaha membuat operand menjadi string
// tidak halnya dengan operator yang lain, seperti '-'
console.log(6-'1'); // output: 5
console.log('4'/'2'); // output: 2
// ------------------------- //
// unary +
// unary + bisa konvert sesuatu jadi angka
console.log(+true); // output : 1
console.log(+''); // output : 0
// kyk fungsi Number (wah shorthand nich)
// hal ini bs dipakai untuk konvert string jadi number
// kebanyakan hasil dari inputan form HTML defaultnya adalah string
let nilai1 = '2';
let nilai2 = '8';
console.log(+nilai1 + +nilai2); // output: 10 (sesuai keinginan kita)
console.log(Number(nilai1) + Number(nilai2)); // output: 10 (versi panjang dari unary +)
// ------------------------- //
// Prioritas operator
/*
(urutan teratas s.d terbawah)
[ unary +, unary - ]
[ ** ]
[ *, / ]
[ +, - ]
*/
// ------------------------- //
// chaining assignment
// kita dapat melakukan assignment secara berantai
// contoh :
let a,b,c;
a=b=c= 99;
console.log(a,b,c);
// untuk keterbacaan kode, sbaiknya displit menjadi :
let d = 212;
a = d;
b = d;
c = d;
console.log(a,b,c,d);
// ------------------------- //
// modif var ( timpa var)
// contoh :
let timpa = 39;
timpa = timpa + 69;
console.log(timpa); // kita ingin mengubah variabel tanpa menambah variabel baru (modif var yg exist)
// misal kita buat var baru dan copy dari timpa
let tambal = timpa;
tambal += 690; // penulisan ini sama dengan tambal = tambal + 690
console.log(tambal);
// contoh lain :
tambal -= 600;
console.log(tambal);
tambal *= 0.01;
console.log(tambal);
// ------------------------- //
// increment/ decrement
// ++ increase by 1
// -- decrease by 1
let counter = 4;
counter ++;
console.log(counter); // output : 5
counter --;
console.log(counter); // output : 4
// nb : increment dan decrement hanya berlaku utk variabel, tidak utk value
// nb : postfix form -> counter++
// nb : prefix form -> ++counter
// bedanya terlihat pada contoh berikut
// prefix
let ticker = 1;
let kicker = 1;
let x = ++ticker;
console.log('nilai pre-fix', x); // nilai x terupdate +1 menjadi 2
let y = kicker++;
console.log('nilai post-fix', y); // nilai y masih 1, justru kickernya yang 1+1
console.log('nilai kicker', kicker);