اصطلاحات host object و native object اغلب در زمینه برنامه نویسی استفاده میشوند و به انواع مختلف object اشاره دارند.
یک شی از نوع host object توسط محیط یک برنامه قابل اجرا است. این محیط میتواند یک مرورگر وب، زمان اجرا سمت سرور یا هر محیط دیگر باشد. اشیا host object توسط محیط خاصی که کد در آن اجرا میشود، تعریف میگردد.
برای مثال در محیط جاوا اسکریپت شی window را host object مینامند که توسط محیط مرورگر اجرا میشود. که نمایش دهنده گستره جهانی، ویژگی ها و متدهای مرتبط با browser window است، همچون manipulating the DOM، دسترسی به تاریخچه مرورگر و نمایش dialog box بکار میرود.
نکته مهم: window object با مشخصات زبان جاوا اسکریپت تعریف نمیشود بلکه توسط محیط مرورگر وب تعریف میشود.
از سوی دیگر native object به اشیا که به صورت ذاتی (intrinsic) یا درون خود زبان (built-in) هستند اطلاق می گردد. این objectها با مشخصات زبان تعریف و قابلیتها اصلی را ارائه میدهند، به طور کلی برای همه کدهایی که در زبانها اجرا میشوند بدون توجه به محیط اجرا در دسترس هستند.
برای مثال در جاوا اسکریپت native object شامل:
Array , String , Number, Date , Math , RegExp
این objectها عملکرد و عملیات اصلی در جاوا اسکریپت را ارائه میدهند. این موارد در هر محیط جاوا اسکریپت در دسترس هستند و می توانند بدون نیاز به هیچگونه وابستگی یا کتابخانه خارجی استفاده شوند.
به طور کلی تفاوت native object و host object در منشا و دسترسی آنهاست. host object توسط محیط خاص اجرا میشود، در حالی که native object توسط خود زبان برنامهنویسی تعریف شده و در محیطهای مختلف در دسترس هستند.