JavaScript TypeError – Setting getter-only property “x”
This JavaScript exception setting getter-only property works in strict-mode only and occurs if the user tries to set a new value to a property for which only a getter is specified.
Message:
TypeError: Assignment to read-only properties is
not allowed in strict mode (Edge)
TypeError: setting getter-only property "x" (Firefox)
TypeError: Cannot set property "prop" of #<Object>
which has only a getter (Chrome)
Error Type:
TypeError
Cause of the Error: The user is trying to set a new value to a property for which only a getter is defined.
Example 1: In this example, the getter method is defined for the object. The property can not be accessed directly.
Javascript
"use strict" ;
function GFG_Fun() {
let temp = null ;
Object.defineProperty( this , 'temp' , {
get: function () {
return temp;
}
});
}
let obj = new GFG_Fun();
obj.temp;
obj.temp = 100;
|
Output:
TypeError: Cannot set property temp of
#<GFG_Fun> which has only a getter
Example 2: In this example, the getter method is defined for the object ‘Person’. Property ‘Age’can not be accessed directly.
Javascript
"use strict" ;
function Person(ageP) {
let age = ageP;
Object.defineProperty( this , 'age' , {
get: function () {
return age;
}
});
}
let p = new Person(22);
p.age = 30;
|
Output:
TypeError: Cannot set property age of
#<Person> which has only a getter
Last Updated :
02 Jun, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...