Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. undefined

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

undefined

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julho de 2015⁩.

Resumo

O valor globalundefined representa um valor indefinido. Trata-se de um dostipos primitivos do JavaScript.

Property attributes ofundefined
Writableno
Enumerableno
Configurableno

Sintaxe

undefined

Descrição

Oundefined é uma propriedade do objetoglobal, ou seja, é uma variável no escopo global. O valor inicial deundefined é o valor primitivoundefined.

Nos browsers modernos (JavaScript 1.8.5 / Firefox 4+), a especificação ECMAScript 5 define que oundefined é uma propriedade não configurável e somente leitura. Mesmo quando esse não for o caso, evite sobrescrevê-lo.

Uma variável que não teve um valor atribuído é do tipoundefined. Um método ou sentença também retornaundefined se a variável que está sendo avaliada não tem um valor atribuído. Uma função retornaundefined se um valor não forretornado.

Uma vez que undefined não é umapalavra reservada, ele pode ser usado como umidentificador (nome de variável) em qualquer escopo que não seja o escopo global.

js
// escreve no console "foo string"(function () {  var undefined = "foo";  console.log(undefined, typeof undefined);})();// escreve no console "foo string"(function (undefined) {  console.log(undefined, typeof undefined);})("foo");

Exemplos

Igualdade estrita (===) eundefined

Voce pode utilizarundefined com os operadores de igualdade e desigualdade estritas para determinar se a variável possui um valor. No código a seguir, a variávelx não foi definida, e o resultado doif é verdadeiro.

js
var x;if (x === undefined) {  // sentenças aqui são executadas} else {  // o código aqui não é executado}

Nota:O operador de igualdade estrita (===) tem que ser utilizado aqui uma vez quex == undefined também checa sex é nulo, enquanto o operador não o faz.null não é equivalente àundefined. Vejaoperadores de comparação (em inglês) para maiores detalhes.

Operador Typeof eundefined

Alternativamente,typeof pode ser usado:

js
var x;if (typeof x === "undefined") {  // esse código é executado}

Uma das principais razões para usar otypeof é que ele não lança erros caso a variável não tenha sido inicializada.

js
// x não foi atribuída anteriormenteif (typeof x === "undefined") {  // retorna verdadeiro sem lançar erros  // esse código executa}if (x === undefined) {  // lança um ReferenceError para x}

No entanto, esse tipo de técnica deveria ser evitada. A linguagem JavaScript é uma linguagem com escopo estático, portanto o conhecimento sobre se uma variável está definida pode ser adquirido pela verificação de sua definição dentro do contexto à qual ela pertence. A única exceção é para o escopo global. No entanto, o escopo global é anexado ao objeto global, portanto a verificação da existência de uma variável no contexto global pode ser feita através de uma checagem na propriedade do objeto global usando o operadorin, por exemplo.

Operador Void eundefined

O operadorvoid é a terceira alternativa.

js
var x;if (x === void 0) {  // esse código executa}// y não foi definido antesif (y === void 0) {  // lança uma ReferenceError (ao contrário de `typeof`)}

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-undefined

Compatibilidade com navegadores

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp