البته سوالاتتون ربطی به nodejs ندارن .
اینا مبانی javascript هستن که البته زبانیه که نود ازش استفاده میکنه
نود رو میتوین به چشم یک موتور یا در برگیرنده در نظر بگیری که دستورات js رو تبدیل میکنه به C++ که میتونن رو سرور ران بشن
اشیا در js مثل زبان های دیگه کلاس بیس نیستن در نتیجه شما کلاسی نمیبینی و کانسپت کلاس رو نداره که ساختار شی از قبل توش تعریف شده باشه
اشیا در js یه سری کلید و مقدار هستن که به هم ربط داده میشن
شما میتونی یک شی رو به صورت داینامیک بسازی
var obj = {};
obj.key = 'val' ;
خیلی وقتا از توابع برای ساخت و پرکردن شی استفاده میشه (Constructor )
function createObject(val){
var obj = {} ;
obj.key = val ;
return obj ;
}
createObject('something');
در نتیجه یه شورت کات یا کد ساده شده براش ساخته شده
function createObject(val){
obj.key = val ;
}
var obj = new createObject('something');
در واقع وقتی شما از کلید new استفاده میکنی برای صدا کردن یک تابع داری میگی که این تابع برای ساخت و پر کردن مقادیر یک آبجکت هستش در نتیجه توی تابع نیاز نیست دیگه اون دو خط اول و آخر رو بنویسی و خودش ترتیب اونا رو میده
منظور از دو خط اینا هستن
var obj = {} ;
return obj ;
اینجا کلمه new معنا و مفهومی که توی زبان های دیگه داره رو نداره و با اون ذهنیت بهش نباید نگاه بکنی
و البته ما اینجا از نام obj استفاده کردیم
برای آبجکتمون د راین حالت باید از this بجاش استفاده کنیم یعنی اینجوری میشه
function createObject(val){
this.key = val ;
}
var obj = new createObject('something');
یه فیلم آموزشی خیلی خوب هست که قسمت های عجیبش رو توضیح داده
https://downloadly.ir/elearning/vide...e-weird-parts/
دانلود کن ببین خیلی چیزا دستت میاد
همچنین یه فیلم تو یوتوب هست که توابع و شی گرایی رو توضیح داده
https://www.youtube.com/watch?v=fBpP...dn0c_u&index=1