Open In App

Difference between native, host and user objects

Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript objects are broadly classified into the following categories: native javascript objects, user objects, and host javascript objects.

Native objects: Native javascript objects are standard javascript objects which are provided by javascript itself. They are also known as built-in objects, pre-defined objects, or global objects. In JavaScript, native objects are objects that are built into the JavaScript language. These include objects like Array, Date, Math, and Object, as well as many others. Native objects are a fundamental part of the language and are always available to use in your code.

Example:

Javascript




<script>
    // Native object: Array
    let arr = [1, 2, 3];
    console.log(arr); 
</script>


Output:

 

Host objects: These are objects that are provided by the environment in which JavaScript is running. For example, if you are running JavaScript in a web browser, the window object and the document object are host objects. If you are running JavaScript in a Node.js server, the process object is a host object. Host objects are not part of the JavaScript language itself, but are provided by the environment in which the code is running.

Example:

Javascript




<script>
    // Host object: window
    let window = window;
    console.log(window); 
</script>


Output:

 

User objects: These are objects that you create in your own code. These can be objects that you create using the Object constructor or using any of the other built-in object constructors (such as Array, Date, etc.). User objects are objects that you define and create in your own code, as opposed to being provided by the language or the environment.

Example:

Javascript




// User object: object created using object literal
let myObject = {
  name: "John",
  age: 30
};
console.log(myObject); // Output: { name: "John", age: 30 }


Output:

 

Main differences between native, host, and user objects in JavaScript:

Property Native Objects  Host Objects  User Objects
Definition Built into the JavaScript language and provided by the runtime environment Provided by the host environment in which JavaScript is running Created by the user using JavaScript code
Examples Array, String, Math, global object window, document, XMLHttpRequest (in a web browser) Custom objects created using object literals, constructor functions, or class syntax
Method of creation Created automatically by the runtime environment Provided by the host environment Created by the user using JavaScript code
Availability Available in all JavaScript environments Dependent on the host environment Dependent on the user’s code
Modifiability Cannot be modified  Maybe modifiable depending on the host environment  Can be modified by the user
 
Inheritance Can be inherited using prototypal inheritance  May not be inheritable  Can be inherited using prototypal inheritance
Standardization  Part of the official JavaScript language specification  May not be part of the official JavaScript language specification  Not part of the official JavaScript language specification
Compatibility Consistently available and compatible across all JavaScript environments  May not be consistently available or compatible across all JavaScript environments  May not be consistently available or compatible across all JavaScript environments

Native objects are an essential part of the JavaScript language and are always available to use in your code. Host objects are provided by the environment in which the code is running and may vary depending on the environment. User objects are objects that you create yourself in your own code.



Last Updated : 17 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads