mozilla
Your Search Results

    ReferenceError

    Our volunteers haven't translated this article into română yet. Join us and help get the job done!

    Summary

    The ReferenceError object represents an error when a non-existent variable is referenced.

    Syntax

    new ReferenceError([message[, fileName[, lineNumber]]])

    Parameters

    message
    Optional. Human-readable description of the error
    fileName
    Optional. The name of the file containing the code that caused the exception
    lineNumber
    Optional. The line number of the code that caused the exception

    Description

    A ReferenceError is thrown when trying to dereference a variable that has not been declared.

    Properties

    ReferenceError.prototype
    Allows the addition of properties to an ReferenceError object.

    Methods

    The global ReferenceError contains no methods of its own, however, it does inherit some methods through the prototype chain.

    ReferenceError instances

    Properties

    ReferenceError.prototype.constructor
    Specifies the function that created an instance's prototype.
    ReferenceError.prototype.message
    Error message. Although ECMA-262 specifies that ReferenceError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.
    ReferenceError.prototype.name
    Error name. Inherited from Error.
    ReferenceError.prototype.fileName
    Path to file that raised this error. Inherited from Error.
    ReferenceError.prototype.lineNumber
    Line number in file that raised this error. Inherited from Error.
    ReferenceError.prototype.columnNumber
    Column number in line that raised this error. Inherited from Error.
    ReferenceError.prototype.stack
    Stack trace. Inherited from Error.

    Methods

    Although the ReferenceError prototype object does not contain any methods of its own, ReferenceError instances do inherit some methods through the prototype chain.

    Examples

    Example: Catch an ReferenceError

    try {
      var a = undefinedVariable;
    } catch (e) {
      console.log(e instanceof ReferenceError); // true
      console.log(e.message);                   // "undefinedVariable is not defined"
      console.log(e.name);                      // "ReferenceError"
      console.log(e.fileName);                  // "Scratchpad/1"
      console.log(e.lineNumber);                // 2
      console.log(e.columnNumber);              // 6
      console.log(e.stack);                     // "@Scratchpad/2:2:7\n"
    }
    

    Example: Create an ReferenceError

    try {
      throw new ReferenceError('Hello', 'someFile.js', 10);
    } catch (e) {
      console.log(e instanceof ReferenceError); // true
      console.log(e.message);                   // "Hello"
      console.log(e.name);                      // "ReferenceError"
      console.log(e.fileName);                  // "someFile.js"
      console.log(e.lineNumber);                // 10
      console.log(e.columnNumber);              // 0
      console.log(e.stack);                     // "@Scratchpad/2:2:9\n"
    }
    

    Specifications

    Specification Status Comment
    ECMAScript 3rd Edition. Standard Initial definition.
    ECMAScript 5.1 (ECMA-262)
    The definition of 'ReferenceError' in that specification.
    Standard  
    ECMAScript 6 (ECMA-262)
    The definition of 'ReferenceError' in that specification.
    Draft  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    Document Tags and Contributors

    Contributors to this page: Mingun, fscholz, Sheppy, Sevenspade, ethertank, arai, Potappo
    Last updated by: Mingun,