Regular Function vs Arrow Function

Run Settings
LanguageJavaScript
Language Version
Run Command
/* 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
Editor Settings
Theme
Key bindings
Full width
Lines