سلام. وقتی که تعریف یک تابع رو به صورت کامل داخل یک شرط قرار بدیم چه تفاوتی داره که از ساختار دوم با Arrow Function استفاده کنیم؟
if(currentUser) {
function test() {
console.log('Nope.');
}
}
let test;
if(currentUser) {
test = () => {
console.log('Yup.');
}
}
سلام خدمت شما. در حالت دوم چون یک متغییر با let تعریف شده امکان تغییر اون وجود داره و این ممکنه باعث بشه اون تابع در ادامه در دسترس نباشه و همین باعث خطا بشه.خوانایی ضعیف تری هم نسبت به حالت اول داره.