- Javascript Basics Tutorial
- Javascript - Home
- JavaScript - Overview
- JavaScript - Features
- JavaScript - Enabling
- JavaScript - Placement
- JavaScript - Syntax
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - Comments
- JavaScript - Variables
- JavaScript - let Statement
- JavaScript - Constants
- JavaScript - Data Types
- JavaScript - Type Conversions
- JavaScript - Strict Mode
- JavaScript - Reserved Keywords
- JavaScript Operators
- JavaScript - Operators
- JavaScript - Arithmetic Operators
- JavaScript - Comparison Operators
- JavaScript - Logical Operators
- JavaScript - Bitwise Operators
- JavaScript - Assignment Operators
- JavaScript - Conditional Operators
- JavaScript - typeof Operator
- JavaScript - Nullish Coalescing Operator
- JavaScript - Delete Operator
- JavaScript - Comma Operator
- JavaScript - Grouping Operator
- JavaScript - Yield Operator
- JavaScript - Spread Operator
- JavaScript - Exponentiation Operator
- JavaScript - Operator Precedence
- JavaScript Control Flow
- JavaScript - If...Else
- JavaScript - While Loop
- JavaScript - For Loop
- JavaScript - For...in
- Javascript - For...of
- JavaScript - Loop Control
- JavaScript - Break Statement
- JavaScript - Continue Statement
- JavaScript - Switch Case
- JavaScript - User Defined Iterators
- JavaScript Functions
- JavaScript - Functions
- JavaScript - Function Expressions
- JavaScript - Function Parameters
- JavaScript - Default Parameters
- JavaScript - Function() Constructor
- JavaScript - Function Hoisting
- JavaScript - Self-Invoking Functions
- JavaScript - Arrow Functions
- JavaScript - Function Invocation
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - Closures
- JavaScript - Variable Scope
- JavaScript - Global Variables
- JavaScript - Smart Function Parameters
- JavaScript Objects
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - Strings
- JavaScript - Arrays
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Sets
- JavaScript - WeakSet
- JavaScript - Maps
- JavaScript - WeakMap
- JavaScript - Iterables
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - Template Literals
- JavaScript - Tagged Templates
- Object Oriented JavaScript
- JavaScript - Objects
- JavaScript - Classes
- JavaScript - Object Properties
- JavaScript - Object Methods
- JavaScript - Static Methods
- JavaScript - Display Objects
- JavaScript - Object Accessors
- JavaScript - Object Constructors
- JavaScript - Native Prototypes
- JavaScript - ES5 Object Methods
- JavaScript - Encapsulation
- JavaScript - Inheritance
- JavaScript - Abstraction
- JavaScript - Polymorphism
- JavaScript - Destructuring Assignment
- JavaScript - Object Destructuring
- JavaScript - Array Destructuring
- JavaScript - Nested Destructuring
- JavaScript - Optional Chaining
- JavaScript - Global Object
- JavaScript - Mixins
- JavaScript - Proxies
- JavaScript Versions
- JavaScript - History
- JavaScript - Versions
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript Cookies
- JavaScript - Cookies
- JavaScript - Cookie Attributes
- JavaScript - Deleting Cookies
- JavaScript Browser BOM
- JavaScript - Browser Object Model
- JavaScript - Window Object
- JavaScript - Document Object
- JavaScript - Screen Object
- JavaScript - History Object
- JavaScript - Navigator Object
- JavaScript - Location Object
- JavaScript - Console Object
- JavaScript Web APIs
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript Events
- JavaScript - Events
- JavaScript - DOM Events
- JavaScript - addEventListener()
- JavaScript - Mouse Events
- JavaScript - Keyboard Events
- JavaScript - Form Events
- JavaScript - Window/Document Events
- JavaScript - Event Delegation
- JavaScript - Event Bubbling
- JavaScript - Event Capturing
- JavaScript - Custom Events
- JavaScript Error Handling
- JavaScript - Error Handling
- JavaScript - try...catch
- JavaScript - Debugging
- JavaScript - Custom Errors
- JavaScript - Extending Errors
- JavaScript Important Keywords
- JavaScript - this Keyword
- JavaScript - void Keyword
- JavaScript - new Keyword
- JavaScript - var Keyword
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM Methods
- JavaScript - DOM Document
- JavaScript - DOM Elements
- JavaScript - DOM Forms
- JavaScript - Changing HTML
- JavaScript - Changing CSS
- JavaScript - DOM Animation
- JavaScript - DOM Navigation
- JavaScript - DOM Collections
- JavaScript - DOM Node Lists
- JavaScript Miscellaneous
- JavaScript - Ajax
- JavaScript - Async Iteration
- JavaScript - Atomics Objects
- JavaScript - Rest Parameter
- JavaScript - Page Redirect
- JavaScript - Dialog Boxes
- JavaScript - Page Printing
- JavaScript - Validations
- JavaScript - Animation
- JavaScript - Multimedia
- JavaScript - Image Map
- JavaScript - Browsers
- JavaScript - JSON
- JavaScript - Multiline Strings
- JavaScript - Date Formats
- JavaScript - Get Date Methods
- JavaScript - Set Date Methods
- JavaScript - Modules
- JavaScript - Dynamic Imports
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - Shallow Copy
- JavaScript - Call Stack
- JavaScript - Reference Type
- JavaScript - IndexedDB
- JavaScript - Clickjacking Attack
- JavaScript - Currying
- JavaScript - Graphics
- JavaScript - Canvas
- JavaScript - Debouncing
- JavaScript - Performance
- JavaScript - Style Guide
- JavaScript Useful Resources
- JavaScript - Questions And Answers
- JavaScript - Quick Guide
- JavaScript - Functions
- JavaScript - Resources
JavaScript - ES5 Object Methods
The ES5 Object methods in JavaScript are used to manipulate and protect the obejcts. ECMAScript 5 (ES5) is a significant revision of the language introduced in 2009. It has added many object methods to JavaScript.
These methods provide us with efficient ways to iterate through object properties, manipulate values, and perform various operations on objects. Object manipulation is a fundamental aspect of JavaScript programming.
JavaScript ES5 Object Methods
In ES5, object-related methods are added to manipulate and protect the objects. The following tables highlight the object methods and their descriptions −
Methods to Manipulate the Object
JavaScript contains built-in constructors, which we have listed in the below table.
Sr.No. | Method | Description |
---|---|---|
1 | create() | To create new objects with specified prototype object. |
2 | defineProperty() | To make a clone of the object and add new properties to its prototype. |
3 | defineProperties() | To define a property into a particular object and get the updated object. |
4 | getOwnPropertyDescriptor() | To get the property descriptor for the properties of the object. |
5 | getOwnPropertyNames() | To get object properties. |
6 | getPrototypeOf() | To get the prototype of the object. |
7 | keys() | To get all keys of the object in the array format. |
Methods to Protect the Object
Sr.No. | Method | Description |
---|---|---|
1 | freeze() | To prevent adding or updating object properties by freezing the object. |
2 | seal() | To seal the object. |
3 | isFrozen() | To check if the object is frozen. |
4 | isSealed() | To check if the object is sealed. |
5 | isExtensible() | To check if an object is extensible. |
6 | keys() | To get all keys of the object in the array format. |
7 | preventExtensions() | To prevent the prototype updation of the object. |
Let's undertand each of the methods listed above with the help of some examples −
JavaScript Object.create() Method
The JavaScript Object.create() method creates a new object with the specified prototype object and properties. It is a static method in JavaScript.
The syntax of the Object.create() method in JavaScript is as follows –
Object.create(proto, propertiesObject)
The paramters in the Object.create() method are as follows −
proto − it is the object that is used as prototype of new object.
propertiesObejct (optaional) − It's an object that defines the properties of new object.
Example
In the example below, the student object is created using the person object as it's prototype.
<html> <body> <div id = "output"> </div> <script> const person = { firstName: "John", lastName: "Doe" }; const student = Object.create(person); student.age = 18; document.getElementById("output").innerHTML = student.firstName + "<br>" + student.lastName + "<br>" + student.age; </script> </body> </html>
Output
John Doe 18
JavaScript Object.defineProperty() Method
You can use the Object.definedProperty() method to define a single property of the object or update the property value and metadata. It's a static method in JavaScript.
The syntax of the Object.definedProperty() method in JavaScript is as follows −
Object.defineProperty(obj, prop, descriptor)
The paramters in the Object.definedProperty() method are as follows −
obj − it is the object on which the property is to be defined or modified.
prop (string or symbol) − It's the name of property to be defined or modified.
descriptor − It's an object that defines the property's attributes.
Example
The below example contains the car object's brand, model, and price properties. We used the defineProperty() method to define the 'gears' property in the object.
<html> <body> <div id = "output">The obj object is - </div> <script> const car = { brand: "Tata", model: "Nexon", price: 1000000, } Object.defineProperty(car, "gears", { value: 6, writable: true, enumerable: true, configurable: true }) document.getElementById("output").innerHTML += JSON.stringify(car); </script> </body> </html>
Output
The obj object is - {"brand":"Tata","model":"Nexon","price":1000000,"gears":6}
JavaScript Object.defineProperties() Method
The Object.defineProperties() method in JavaScript is a static method that defines new properties of object or modifies the properties.
The syntax of Object.defineProperties() method in JavaScript is as follows –
Object.defineProperties(obj, props)
The parameters in the Object.defineProperties() method are as follows −
obj − it is the object on which the properties are to be defined or modified.
prop (string or symbol) − It's the name of property to be defined or modified.
Example
In the following example, we use Object.defineProperties() method to add two mew properties named property1 and property2. The property1 is writable and property2 is non-writable.
<html> <body> <div id = "output"> </div> <script> const object1 = {}; Object.defineProperties(object1, { property1: { value: 42, writable: true, }, property2: { value: "Tutorials Point", writable: false,}, }); document.getElementById("output").innerHTML = "Property1 : " + object1.property1 + "<br>" + "Property2 : " + object1.property2; </script> </body> </html>
Output
Property1 : 42 Property2 : Tutorials Point
JavaScript Object.getOwnPropertyDescriptor() Method
The Object.getOwnPropertyDescriptor() method in JavaScript returns a property descriptor for a specific property of an object. The returned property descriptor is a JavaScript object.
Example
Try the following example −
<html> <body> <div id = "output"> </div> <script> const object1 = { property1: 42, }; const descriptor1 = Object.getOwnPropertyDescriptor(object1, 'property1'); document.getElementById("output").innerHTML = "descriptor configurable? : " + descriptor1.configurable + "<br>" + "descriptor value : " + descriptor1.value; </script> </body> </html>
Output
descriptor configurable? : true descriptor value : 42
JavaScript Object.getOwnPropertyNames() Method
The Object.getOwnPropertyNames() method in JavaScript returns an array of all the properties found in a given object. This includes both enumerable and non-enumerable properties.
Example
In the example below, we use getOwnPropertyNames() method to get the property names of the created object.
<html> <body> <div id = "output"> </div> <script> const obj = { a: 10, b: 20, c: 30, }; document.getElementById("output").innerHTML = Object.getOwnPropertyNames(obj); </script> </body> </html>
Output
a,b,c
JavaScript Object.getPrototypeOf() Method
The Object.getPrototypeOf() method in JavaScript returns the prototype of the specified object. It's a static JavaScript method added in ES5.
Example
<html> <body> <div id = "output"> </div> <script> const prototype1 = {name: "John Doe"}; const object1 = Object.create(prototype1); const prot = Object.getPrototypeOf(object1) document.getElementById("output").innerHTML = JSON.stringify(prot); </script> </body> </html>
Output
{"name":"John Doe"}
JavaScrip Object.keys() Method
The Object.keys() method in javaScript takes an object as an argument and returns an array containing the object's own enumerable property names.
<html> <body> <div id = "output"> </div> <script> let person = { name: "John Doe", age: 20, profession: "Software Engineer" }; document.getElementById("output").innerHTML = Object.keys(person); </script> </body> </html>
Output
name,age,profession
JavaScript Object.freeze() Method
The Object.freeze() in JavaScript is static method that freezes an object. A frozen object can not be further changed. No new property can be added or the existing properties can not be removed. The values of the properties can not be modified.
<html> <body> <div id = "output"> </div> <script> const obj = { prop: 23, }; Object.freeze(obj); // obj.prop = 33; // Throws an error in strict mode document.getElementById("output").innerHTML = obj.prop; </script> </body> </html>
Output
23
JavaScript Object.seal() Method
The Object.seal() static method seals an object. In a sealed object, no new property can be added, no property can be deleted.
<html> <body> <div id = "output"> </div> <script> const obj = { property: 34, }; Object.seal(obj); obj.property = 33; document.getElementById("output").innerHTML = obj.property; delete obj.property; // Cannot delete when sealed document.getElementById("output").innerHTML = obj.property; </script> </body> </html>
Output
33
JavaScript Object.isFrozen() Method
The Object.isFrozen() method in JavaScript returns true if the given object is frozen, else it returns false if the object is not frozen.
<html> <body> <div id = "output1"> </div> <div id = "output2"> </div> <script> const person = { age: 21, }; document.getElementById("output1").innerHTML = Object.isFrozen(person); // Expected output: false Object.freeze(person); document.getElementById("output2").innerHTML += Object.isFrozen(person); // Expected output: true </script> </body> </html>
Output
false true
JavaScript Object.isSealed() Method
The Object.isSeal() method in JavaScript is used to check if the given object is sealed or not. It returns true if the object is sealed else it retuens flase.
<html> <body> <div id = "output1"> </div> <div id = "output2"> </div> <script> const person = { name: "John Doe", }; document.getElementById("output1").innerHTML = Object.isFrozen(person); // Expected output: false Object.seal(person); document.getElementById("output2").innerHTML += Object.isSealed(person); // Expected output: true </script> </body> </html>
Output
false true
JavaScript Object.preventExtensions() Method
The ES5 Object.preventExtensions() method is used to prevent the prototype updation of an object. It also prevent the new properties to be added to an object.
<html> <body> <div id = "output"> </div> <script> const person = {}; Object.preventExtensions(person); try { Object.defineProperty(person, 'name', { value: "John Doe", }); } catch (e) { document.getElementById("output").innerHTML =e; } </script> </body> </html>
Output
It will produce the following output −
TypeError: Cannot define property name, object is not extensible
JavaScript Object.isExtensible() Method
The JavaScript Object.isExtensible() method is used to check if an object is extensible or not. It returns true indicating the given object is extensible, else it will return false. An object is extensible if it can have new properties added to it.
<html> <body> <div id = "output1"> </div> <div id = "output2"> </div> <script> const person = { name: "John Doe", }; document.getElementById("output1").innerHTML = Object.isExtensible(person); // Expected output: false Object.preventExtensions(person); document.getElementById("output2").innerHTML += Object.isExtensible(person); // Expected output: false </script> </body> </html>
Output
true false