| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/undefined | [Back] [Original] |
Get to know MDN better
Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.
O valor global undefined representa um valor indefinido. Trata-se de um dos tipos primitivos do JavaScript.
Property attributes of undefined | |
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
undefined
O undefined uma propriedade do objeto global, ou seja, uma varivel no escopo global. O valor inicial de undefined o valor primitivo undefined.
Nos browsers modernos (JavaScript 1.8.5 / Firefox 4+), a especificao ECMAScript 5 define que o undefined uma propriedade no configurvel e somente leitura. Mesmo quando esse no for o caso, evite sobrescrev-lo.
Uma varivel que no teve um valor atribudo do tipo undefined. Um mtodo ou sentena tambm retorna undefined se a varivel que est sendo avaliada no tem um valor atribudo. Uma funo retorna undefined se um valor no for retornado.
Uma vez que undefined no uma palavra reservada, ele pode ser usado como um identificador (nome de varivel) em qualquer escopo que no seja o escopo global.
// 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");
undefinedVoce pode utilizar undefined com os operadores de igualdade e desigualdade estritas para determinar se a varivel possui um valor. No cdigo a seguir, a varivel x no foi definida, e o resultado do if verdadeiro.
var x;
if (x === undefined) {
// sentenas aqui so executadas
} else {
// o cdigo aqui no executado
}
Nota:
O operador de igualdade estrita (===) tem que ser utilizado aqui uma vez que x == undefined tambm checa se x nulo, enquanto o operador no o faz. null no equivalente undefined. Veja operadores de comparao (em ingls) para maiores detalhes.
Operador Typeof e undefinedAlternativamente, typeof pode ser usado:
var x;
if (typeof x === "undefined") {
// esse cdigo executado
}
Uma das principais razes para usar o typeof que ele no lana erros caso a varivel no tenha sido inicializada.
// x no foi atribuda anteriormente
if (typeof x === "undefined") {
// retorna verdadeiro sem lanar erros
// esse cdigo executa
}
if (x === undefined) {
// lana um ReferenceError para x
}
No entanto, esse tipo de tcnica deveria ser evitada. A linguagem JavaScript uma linguagem com escopo esttico, portanto o conhecimento sobre se uma varivel est definida pode ser adquirido pela verificao de sua definio dentro do contexto qual ela pertence. A nica exceo para o escopo global. No entanto, o escopo global anexado ao objeto global, portanto a verificao da existncia de uma varivel no contexto global pode ser feita atravs de uma checagem na propriedade do objeto global usando o operador in, por exemplo.
Operador Void e undefinedO operador void a terceira alternativa.
var x;
if (x === void 0) {
// esse cdigo executa
}
// y no foi definido antes
if (y === void 0) {
// lana uma ReferenceError (ao contrrio de `typeof`)
}
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-undefined |
This page was last modified on 22 de mai. de 2026 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 |