One minute
f(x) - Hoisting & Scope
sambil didenger lagunya, enakeun
Hoisting
Fungsi juga ada hoistingnya bro. Kayak variabel. Cuman Function Expression aja yang gak ngedukung hoisting. Hoisting teh artinya “ngangkat” ya.
// Declaration
helloHenry(); // hello henry
function helloHenry(){
console.log("hello henry");
}
// Arrow
helloHenry(); // hello henry
const helloHenry = () => {
console.log("hello henry");
}
// Expression
helloHenry(); // TypeError: helloHenry is not a function
const helloHenry = function() {
console.log("hello henry");
}
Scope
Pokoknya, pada function expression kan si fungsinya bisa tidak anonymous, bisa di namain, jadi bisa dipake di dalem fungsi. Nah, kalau dipake diluar fungsi, itu teh gak bisa.
const fucktorial = function fuck(n) {
if (n === 0) return 1;
return n * fuck(n - 1);
}
console.log(typeof fuck); // undefined
fuck(1) // ReferenceError: fuck is not defined
Udah, gitu aja. Harusnya sih di postingan kemaren. Tapi yaudahlahya…
Kalau kamu suka tulisan saya, boleh kok traktir saya kopi. Tinggal klik di sini.