Variable Declaration

Salah satu cara mendeklarasikan suatu variabel adalah dengan menggunakan keyword var lalu diikuti dengan nama variabel

In [1]:
// deklarasi dan inisialisasi variabel dengan nama myVar dengan nilai 3
var myVar = 3;

// tampilkan nilai variabel myVar ke console
console.log(myVar);
3

Nilai suatu variabel adalah undefined jika dideklarasikan tanpa diberi nilai

In [2]:
var a;
console.log(a); // secara default suatu variabel bernilai undefined jika tidak diinisialisasi
undefined

Data Type

Untuk melihat tipe data dari suatu nilai, kita dapat menggunakan fungsi typeof

In [3]:
var myInt = 4;
var myName = "Azhary";
var pi = 3.14;
var myBool = true;
var myUndefined = undefined;
var myNull = null;

console.log("Variabel myInt bernilai " + myInt + " dengan tipe " + typeof(myInt));
console.log("Variabel myName bernilai " + myName + " dengan tipe " + typeof(myName));
console.log("Variabel pi bernilai " + pi + " dengan tipe " + typeof(pi));
console.log("Variabel myBool bernilai " + myBool + " dengan tipe " + typeof(myBool));
console.log("Variabel myUndefined bernilai " + myUndefined + " dengan tipe " + typeof(myUndefined));
console.log("Variabel myNull bernilai " + myNull + " dengan tipe " + typeof(myNull));
Variabel myInt bernilai 4 dengan tipe number
Variabel myName bernilai Azhary dengan tipe string
Variabel pi bernilai 3.14 dengan tipe number
Variabel myBool bernilai true dengan tipe boolean
Variabel myUndefined bernilai undefined dengan tipe undefined
Variabel myNull bernilai null dengan tipe object

Loosely-typed Variable

Tipe data variabel dalam JavaScript bersifat loosely-typed, artinya tipe data suatu variabel dapat berubah-ubah di tengah jalannya program

In [4]:
var myVar = 10; // awalnya myVar bertipe data number
console.log(typeof(myVar));

myVar = "Synapse"; // disini tipe data myVar berubah menjadi string
console.log(typeof(myVar));
number
string

Mathematical Operator

Operator Deskripsi
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulo
In [5]:
console.log(2 + 3); // 5
console.log(5 - 2); // 3
console.log(3 * 3); // 9
console.log(4 / 3); // 1.33
console.log(5 % 3); // 2
5
3
9
1.3333333333333333
2

Conditional Statement

Blok if-else

In [6]:
var x = 7;

if (x == 7)
{
    console.log("x bernilai 7");
}
else
{
    console.log("x bukan bernilai 7");
}
x bernilai 7

Blok if - else if - else

In [7]:
var x = 7;

if (x > 0)
{
    console.log("x bernilai positif");
}
else if (x < 0)
{
    console.log("x bernilai negatif");
}
else
{
    console.log("x bernilai 0");
}
x bernilai positif

Comparison and Logical Operators

Operator Deskripsi
== Sama dengan
!= Tidak sama dengan
> Lebih besar
< Lebih kecil
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
|| Atau
&& Dan
In [8]:
var x = 7;

console.log(x == 7); // true
console.log(x > 7); // false
console.log(x >= 7); // true
console.log(x != 7); // false
console.log(x < 7); // false
console.log(x <= 7); // true

console.log(x >= 7 || x < 7); // true or false -> true
console.log(x >= 7 && x < 7); // true and false -> false
true
false
true
false
false
true
true
false

Strict Comparison

Operator '==' mengecek nilai antar dua variabel, sedangkan operator '===' mengecek nilai dan tipe data antar dua variabel

In [9]:
var x = 7;
if (x == "7")
{
    console.log("x bernilai 7");
}
else
{
    console.log("x bukan bernilai 7");
}
x bernilai 7
In [10]:
var x = 7;
if (x === "7")
{
    console.log("x bernilai 7");
}
else
{
    console.log("x bukan bernilai 7");
}
x bukan bernilai 7
In [11]:
console.log(7 == "7"); // true
console.log(7 === "7"); // false
console.log(7 !== "7"); // true
console.log(false == 0); // true
console.log(true == 1); // true
console.log(true === 1); // false
true
false
true
true
true
false

Loops

Salah satu cara untuk membuat perulangan dengan menggunakan keyword for dengan format for (start; loop condition; increment/decrement)

In [12]:
for (var i = 0; i < 10; i++)
{
    console.log(i);
}
0
1
2
3
4
5
6
7
8
9
In [1]:
for (var i = 10; i >= 0; i--)
{
    console.log(i);
}
10
9
8
7
6
5
4
3
2
1
0

Functions

In [1]:
function add_two(x, y) // fungsi dengan nama add_two dan memiliki parameter x dan y
{
    return x + y; // nilai balikan
}

var result = add_two(1, 2); // memanggil fungsi
console.log(result);
3

function juga dapat dianggap sebagai nilai dan disimpan ke dalam variabel

In [9]:
var multiply = function(x, y) {
    return x * y;
};

var c = multiply; // fungsi disimpan ke variabel c
var d = multiply(4, 4); // nilai balikan dari fungsi disimpan ke variabel d

console.log(c(2, 3));
console.log(d);
console.log(typeof(multiply));
6
16
function

Terdapat objek arguments pada function yang berisi nilai-nilai yang diberikan sebagai parameternya

In [6]:
function pass_no_args(w, x, y, z) {
    console.log(arguments);
}

pass_no_args();
pass_no_args(2);
pass_no_args(3, 5);
{}
{ '0': 2 }
{ '0': 3, '1': 5 }

Parameter pada suatu function dapat diberikan nilai default dengan menggunakan teknik null coalesce

In [1]:
function func_with_default_args(x, y) {
    var y = y || 2;
    
    console.log("x is", x);
    console.log("y is", y);
    console.log(" ");
}

func_with_default_args(5);
func_with_default_args(4, 6);
x is 5
y is 2
 
x is 4
y is 6