سلام،1- function literal ها دقیقا چه نوع داده ای هستند و چطور می توانند بی نام باشند و دریک متغیر ذخیره شوند؟

2-اشیا در js و nodejs به چه صورت تعریف می شوند؟

مثلا میگن توابع در nodejs(jsیا) آبجکت هستنددرصورتی که نه کلاسی درکار است و نه تعاریفی مانند دیگر زبان های شی گرا


var person = function(name){
this.name = name;
}

var someone = new person("someone")


دراینجا person خود نقش یک آبجکت رو داره درحالیکه ما با دستور new از روی شی دوباره کپی می کنیم!

3-کاری که یک تابع دراینجا انجام می دهد هم ارز همون کاری است که شی تابع برای ما انجام می دهد پس تفاوت این دو دقیقا چیست؟

4-تفاوت تعریف یک کلاس(شی یا تابع) به صورت بالا با


function person(name){
this.name = name;
}


چیست؟به جای literal از نام تابع استفاده کردیم

5-اگر برای function literal نامی بگذاریم نامش جه کاربردی دارد؟