ReferenceError

O objeto ReferenceError representa um erro quando uma variável não existente é referenciada.

Sintaxe

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

Parâmetros

message
Opcional. Descrição legível do erro.
fileName
Opcional. O nome do arquivo contendo o código que causou a excessão.
lineNumber
Opcional. O número da linha do código que causou a excessão.

Descrição

ReferenceError acontece quando é feita uma tentativa de referenciar uma variável que não foi declarada.

Propriedades

ReferenceError.prototype (en-US)
Permite a inclusão de propriedades em um objeto ReferenceError.

Métodos

O ReferenceError não contém métodos próprios, porém, ele herda alguns métodos através da cadeia de protótipos.

Instâncias do ReferenceError 

Propriedades

{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype', 'Properties')}}

Métodos

{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype', 'Methods')}}

Exemplos

Capturando um ReferenceError

try {
  var a = variavelNaoDefinida;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "variavelNaoDefinida não está definida"
  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"
}

Criando um ReferenceError

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

Especificações

Especificação Estado Comentário
ECMAScript 3rd Edition (ECMA-262) Padrão Definição inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'ReferenceError' in that specification.
Padrão  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'ReferenceError' in that specification.
Padrão  
ECMAScript (ECMA-262)
The definition of 'ReferenceError' in that specification.
Padrão em tempo real  

Compatibilidade com browsers

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar! (en-US)
Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também