| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Bad_super_prop | [Back] [Original] |
Get to know MDN better
The JavaScript exception "use of super property/member accesses only valid within methods or eval code within methods" occurs when the super.x or super[x] syntax is used outside of a method.
SyntaxError: 'super' keyword unexpected here (V8-based) SyntaxError: use of super property accesses only valid within methods or eval code within methods (Firefox) SyntaxError: super is not valid in this context. (Safari)
SyntaxError
The super.x syntax is used to access properties on the prototype of the current object. It can be used in methods of both object literals and classes, field initializers, and static initialization blocks, but not in other contexts.
You can't use super.x outside of a method in an object:
const obj = {
__proto__: { x: 1 },
x: super.x, // SyntaxError: use of super property accesses only valid within methods or eval code within methods
};
You can't use super.x in a function, even if that function has the effect of being a method:
function getX() {
return super.x; // SyntaxError: use of super property accesses only valid within methods or eval code within methods
}
const obj = {
getX,
getX2: function () {
return super.x; // SyntaxError: use of super property accesses only valid within methods or eval code within methods
},
};
class Derived extends Base {
getX = () => super.x;
}
You can use super.x in a method:
class Base {
x = 1;
}
class Derived extends Base {
getX() {
return super.x;
}
}
You can use super.x in a field initializer:
class Derived extends Base {
x = super.x;
}
You can use super.x in object methods too:
const obj = {
__proto__: { x: 1 },
getX() {
return super.x;
},
};
This page was last modified on Jul 8, 2025 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |