[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/typeof [Back]  [Original]

typeof - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

typeof

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.

Sumrio

O operador typeof retorna uma string indicando o tipo de um operando.

In this article

Sintaxe

O operador typeof pode ser utilizado das seguintes maneiras:

typeof operando

Parmetros

operando a string, varivel, keyword, ou objeto para que o tipo do mesmo seja retornado. O uso de parnteses opcional.

Descrio

Esta tabela resume os possveis valores que so retornados pelo typeof:

Tipo Resultado
Undefined "undefined"
Null "object"
Boolean "boolean"
Number "number"
String "string"
Host object (provided by the JS environment) Implementation-dependent
Function object (implements [[Call]] in ECMA-262 terms) "function"
E4X XML object "xml"
E4X XMLList object "xml"
Qualquer outro objeto "object"

Exemplos

Casos comuns

js
// Nmeros - Numricos
typeof 37 === "number";
typeof 3.14 === "number";
typeof Math.LN2 === "number";
typeof Infinity === "number";
typeof NaN === "number"; // Apesar de ser "No-Numrico"
typeof Number(1) === "number"; // mas nunca utilize desta forma!

// Strings - Seqncias de caracteres
typeof "" === "string";
typeof "bla" === "string";
typeof typeof 1 === "string"; // typeof sempre retorna uma string
typeof String("abc") === "string"; // mas nunca utilize desta forma!

// Booleans - Lgicos booleanos
typeof true === "boolean";
typeof false === "boolean";
typeof Boolean(true) === "boolean"; // mas nunca utilize desta forma!

// Undefined - Indefinidos
typeof undefined === "undefined";
typeof blabla === "undefined"; // uma varivel indefinida

// Objetos
typeof { a: 1 } === "object";
typeof [1, 2, 4] === "object"; // use Array.isArray ou Object.prototype.toString.call para diferenciar os objetos das arrays
typeof new Date() === "object";

typeof new Boolean(true) === "object"; // isto  confuso, portanto no use desta forma!
typeof new Number(1) === "object"; // isto  confuso, portanto no use desta forma!
typeof new String("abc") === "object"; // isso tambm  confuso, assim evite usar esta construo!

// Funes
typeof function () {} === "function";
typeof Math.sin === "function";

null

js
// Desde os primridos do JavaScript
typeof null === "object";

Na primeira implementao do JavaScript, valores em JavaScript foram representados com uma tag (etiqueta) de tipo e um valor. A tag de tipo para objetos foi 0. null foi representada com o ponteiro NULL (0x00 na maioria das plataformas). Consequentemente, null teve 0 como sua tag de tipo, portanto o typeof retorna esse valor. (necessrio referncia)

Est previsto para ser corrigido na prxima verso do ECMAScript (que estar disponvel atravs de um opt-in). Isso resultar em um typeof null === 'null'.

Expresses regulares

Expresses regulares que podem ser chamadas foram uma adio no-padro em alguns browsers (necessidade de referncia para dizer qual).

js
typeof /s/ === "function"; // Chrome 1-12 ... // No-conforme no ECMAScript 5.1
typeof /s/ === "object"; // Firefox 5+ ...    // Conforme no ECMAScript 5.1

Outras peculiaridades

alert verses antigas do Internet Explorer

No IE 6, 7 e 8, typeof alert === 'object'

Especificao

ECMA-262 section 11.4.3

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page