-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path25_operatorLogikaNonBoolean.js
executable file
·55 lines (50 loc) · 1.95 KB
/
25_operatorLogikaNonBoolean.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
//ada operator logika
// AND(&&) dan OR (||)
//utk data boolean
//khusus JS, kita bs pakai
//AND dan OR utk tipe non boolean
//----------------------
//operator OR (||) di non boolean part.1
//membaca dr kiri ke kanan
//ambil nilai pertama yg truthy
//jika tidak ada satupun nilai truthy
//akan diambil data urutan trkhir(kanan)
//
//contoh :
console.log("hello" || ""); //ditampilkan yg truthy kiri
console.log(""||[]); //ditampilkan truthy kanan
console.log("0"||"NOL"); //dibaca dr kiri, meskipun sama2 truthy
console.log(0||"nol"); //diambil yang truthy, kanan
console.log(null||"NULL");//diambil truthy kanan
console.log(undefined||"undefined");//diambil truthy kanan
console.log(0||undefined);//dua falshy, diambil plg kanan(terakhir)
console.log("----------------------------");
const person ={name1:undefined,name2:"khannedy"};
const cekPerson = person.name1 || person.name2; //nonboolean
console.log(`1 ${cekPerson}`);
//nilai kosong, maka ambil truthy yg lain, yaitu kanan
//aktif dg prinsip truthy dan falsy
//mirip dengan nullish
//nullish
const a={firstName:undefined,lastName:"khannedy"};
const b=a.firstName??a.lastName;
console.log(`2 ${b}`); //nilai kosong tidak menghasilkan nilai
//nullish aktif saat nilai null atau undefined, maka diinisiasi value
//yang default
//hanya inisiasi dg null atau undefined
console.log("----------------------------");
//-----------------
//Operator AND (&&) di non boolean part.2
//membaca dr kiri ke kanan <sama dengan OR(||) >
//akan diambil nilai pertama yg falsy
//jika tidak ada yg bernilai falsy, maka diambil nilai terakhir
//
//contoh:
console.log("hello" && "");// ""
console.log("" && []); //""
console.log("0" && "nol"); //"nol" tidak ada falsy, ambil value kanan
console.log(0 && "nol"); //falsy pertama
console.log(null && "null"); //falsy pertama
console.log(undefined && "undefined"); //falsy pertama
console.log("undefined" && "null"); //tidak ada falsy, ambil paling kanan
console.log("------------------------------");