Open In App

JavaScript TypeError – Can’t assign to property “X” on “Y”: not an object

Improve
Improve
Like Article
Like
Save
Share
Report

This JavaScript exception can’t assign to property occurs in strict-mode only and this error occurs If the user tries to create a property on any of the primitive values like a symbol, a string, a number, or a boolean. Primitive values cannot be used to hold any property.

Message:

TypeError: can't assign to property "x" on {y}: not an 
           object (Firefox)
TypeError: Cannot create property 'x' on {y} (Chrome)

Error Type:

TypeError

Cause of Error: In strict-mode, a primitive value in the code is used to create a property on it. Primitive values can not hold properties.

Example 1: In this example, the string is used to create properties on it, So the error has occurred.

Javascript




'use strict';
let GFG = "This is GeeksforGeeks";
GFG.prop = {}; // error here


Output(in console):

TypeError: Cannot create property 'prop' on string 
'This is GeeksforGeeks'

Example 2: In this example, the boolean ‘true’ is used to create properties on it, So the error has occurred.

Javascript




'use strict';
let variableName = true;
variableName.prop = {}; // error here


Output(in console):

TypeError: Cannot create property 'prop' on boolean 'true'

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