Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. Object
  6. Object.is()

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

Object.is()

Baseline Widely available

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

O métodoObject.is() determina se dois valores correspondemao mesmo valor.

Sintaxe

Object.is(value1, value2);

Parâmetros

value1

O primeiro valor a ser comparado.

value2

O segundo valor a ser comparado.

Return value

UmBoolean indicando se os dois argumentos possuem o mesmo valor ou não.

Descrição

Object.is() determina se dois valores correspondemao mesmo valor. Dois valores correspondem ao mesmo valor se uma das seguintes condições for verdadeira:

  • ambos sãoundefined
  • ambos sãonull
  • ambos sãotrue ou ambos sãofalse
  • ambos são strings do mesmo comprimento, com os mesmos caracteres
  • ambos são o mesmo objeto
  • ambos são numéricos e
    • ambos são+0
    • ambos são-0
    • ambos sãoNaN
    • ou ambos são não-zero e ambos são nãoNaN e ambos correspondem ao mesmo valor

Issonão é o mesmo que ser igual de acordo com o operador==. O operador== aplica diversas coerções para ambos os lados (se eles não correspondem ao mesmo Tipo) antes de testar a igualdade (resultando em comportamentos como a comparação"" == false retornartrue), enquantoObject.is não realiza a coerção de nenhum dos valores.

Isso tambémnãoé o mesmo que ser igual de acordo com o operador===. O operador=== (assim como o operador==) trata os valores numéricos-0 e+0 como iguais e trataNumber.NaN como não igual aNaN.

Exemplos

js
Object.is("foo", "foo"); // trueObject.is(window, window); // trueObject.is("foo", "bar"); // falseObject.is([], []); // falsevar test = { a: 1 };Object.is(test, test); // trueObject.is(null, null); // true// Casos especiaisObject.is(0, -0); // falseObject.is(-0, -0); // trueObject.is(NaN, 0 / 0); // true

Polyfill para navegadores que não suportam ES6

Object.is() é uma adição proposta ao padrão ECMA-262; e como tal, pode não estar presente em todos os navegadores. Você pode contornar essa situação por meio da adição do seguinte código no começo de seus scripts. Isso permitirá a você utilizarObject.is(), mesmo quando não houver suporte por parte do navegador.

js
if (!Object.is) {  Object.is = function (x, y) {    // Algoritmo para verificar se os valores sao iguais    if (x === y) {      // Passos 1-5, 7-10      // Passos 6.b-6.e: +0 != -0      return x !== 0 || 1 / x === 1 / y;    } else {      // Passo 6.a: NaN == NaN      return x !== x && y !== y;    }  };}

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-object.is

Compatibilidade com navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp