Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Operadores
  5. typeof

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

typeof

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⁩.

Sumário

O operadortypeof retorna uma string indicando o tipo de um operando.

Sintaxe

O operadortypeof pode ser utilizado das seguintes maneiras:

typeof operando

Parâmetros

operando é a string, variável, keyword, ou objeto para que o tipo do mesmo seja retornado. O uso de parênteses é opcional.

Descrição

Esta tabela resume os possíveis valores que são retornados pelotypeof:

TipoResultado
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
// Números - Numéricostypeof 37 === "number";typeof 3.14 === "number";typeof Math.LN2 === "number";typeof Infinity === "number";typeof NaN === "number"; // Apesar de ser "Não-Numérico"typeof Number(1) === "number"; // mas nunca utilize desta forma!// Strings - Seqüências de caracterestypeof "" === "string";typeof "bla" === "string";typeof typeof 1 === "string"; // typeof sempre retorna uma stringtypeof String("abc") === "string"; // mas nunca utilize desta forma!// Booleans - Lógicos booleanostypeof true === "boolean";typeof false === "boolean";typeof Boolean(true) === "boolean"; // mas nunca utilize desta forma!// Undefined - Indefinidostypeof undefined === "undefined";typeof blabla === "undefined"; // uma variável indefinida// Objetostypeof { a: 1 } === "object";typeof [1, 2, 4] === "object"; // use Array.isArray ou Object.prototype.toString.call para diferenciar os objetos das arraystypeof new Date() === "object";typeof new Boolean(true) === "object"; // isto é confuso, portanto não use desta forma!typeof new Number(1) === "object"; // isto é confuso, portanto não use desta forma!typeof new String("abc") === "object"; // isso também é confuso, assim evite usar esta construção!// Funçõestypeof function () {} === "function";typeof Math.sin === "function";

null

js
// Desde os primóridos do JavaScripttypeof null === "object";

Na primeira implementação 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 otypeof retorna esse valor. (necessário referência)

Está previstopara ser corrigido na próxima versão do ECMAScript (que estará disponível através de um opt-in). Isso resultará em umtypeof null === 'null'.

Expressões regulares

Expressões regulares que podem ser chamadas foram uma adição não-padrão em alguns browsers (necessidade de referência para dizer qual).

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

Outras peculiaridades

alert versões antigas do Internet Explorer

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

Especificação

ECMA-262 section 11.4.3

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp