Open In App
Related Articles

JavaScript ReferenceError Deprecated caller or arguments usage

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

This JavaScript exception deprecated caller or arguments usage occurs only in strict mode. It occurs if any of the Function.caller or Function.arguments properties are used, Which are depreciated.

Message:

TypeError: 'arguments', 'callee' and 'caller' are 
            restricted function properties and cannot
            be accessed in this context (Edge)
Warning: ReferenceError: deprecated caller usage (Firefox)
Warning: ReferenceError: deprecated arguments usage (Firefox)
TypeError: 'callee' and 'caller' cannot be accessed in strict
            mode. (Safari)

Error Type:

This is a strict-mode warning that a ReferenceError occurred. 
JavaScript execution won't be halted.

Cause of the Error: In the code, the Function.caller or Function.arguments properties are used, Which are depreciated.

Example 1: In this example, the caller property is used, So the error has occurred. 

Javascript

'use strict';
function GFG_Fun() {
    return GFG_Fun.caller; // Error here
}
GFG_Fun();

                    

Output:

TypeError: 'arguments', 'callee' and 'caller' are 
restricted function properties and cannot be accessed 
in this context

Example 2: In this example, the arguments property is used, So the error has occurred. 

Javascript

'use strict';
function gfg(n) {
    return gfg.arguments[0]; // Error here
}
gfg(2);

                    

Output:

TypeError: 'arguments', 'callee' and 'caller' are 
restricted function properties and cannot be accessed
in this context

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