سلام مقداری در استفاده توابع گیج شدم میشه توضیحی در باره ی function diclaretion و function expresion و Arrow function رو بگید و چه تفاوتی با هم دیگر و آیا میشه به جای همدیگر هم استفاده بشوند و در استفاده تفاوتی دارند؟ اگر درست متوجه شده باشم فقط همین سه نوع توابع در جاوا اسکریپ هستش ، درسته؟