Quick actions

cmd+k|ctrl+k

Navigation

Languages

Regular Function vs Arrow Function

Snippet info

Language

JavaScript

Visibility

public

Author

tulangrusuk.ku

Created

2020-07-30T13:24:01Z

Updated

2020-08-01T16:34:28Z

/* Selain perbedaan dari segi sintaksis, terdapat juga perbedaan perilaku 
antara keduanya. Regular function dapat berupa function declaration atau 
function expression, namun arrow function hanya berupa function expression 
saja. Itu sebabnya arrow function memiliki nama lengkap “arrow function 
expressions”. */

// Regular Function
// function declaration
/* Function declarations atau yang dikenal juga sebagai function statements 
adalah fungsi yang telah dideklarasikan sebelumnya dan akan dieksekusi jika 
dipanggil (call). */
// Function declarations harus dimulai dengan kata function. Contoh :
function sayHello(greet) {
    console.log(`${greet}`);
}
sayHello(`Selamat Malam sahabat :)`) //memanggil fungsi

//function expression
/*Function expressions adalah fungsi yang disimpan ke dalam suatu variable
Setelah disimpan, maka variabel tersebut dapat digunakan sebagai fungsi.*/
//Contoh :
const sayName = function (name) {
    console.log(`Nama saya ${name}`)
}

sayName("Muhammad Hifni");

// Arrow Function
// function expression
const sayHai = greet => console.log(`${greet}!`);
const urHobby = hobby => console.log(`Hobi saya ${hobby}`);

sayHai(`Hello Buddy!`); //memangil function sayHai
urHobby(`memperhatikan dan mempelajari ilmu dibidang teknologi :D`); //memanggil function urHobby

/* Karena arrow function merupakan sebuah expression, maka ia hanya dapat 
digunakan untuk disimpan pada variabel (seperti contoh kode di atas), 
sebagai argumen pada sebuah fungsi, dan sebagai nilai dari properti objek. */

// Stored in Variable
const sayLove = love => console.log(`Aku ${love} sama kamu <3`);

sayLove('cinta banget'); // memanggil fungsi sayLove

// Passed as An Argument
["Hifni", "Zulfa", "Muzafar"].forEach(name => console.log(`Nama saya ${name}`));

// Stored in Object Property
const user = {
    introduce: name => console.log(`Hallo nama saya ${name}`)
};
// destructing object
const {introduce} = user; 

introduce('Muhammad Hifni');    //memanggil function user
INFO