Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Operadores
  5. Adição (+)

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

Adição (+)

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

O operador de adição (+) produz a soma de operandos numéricos ou concatenação de strings.

Experimente

console.log(2 + 2);// Expected output: 4console.log(2 + true);// Expected output: 3console.log("hello " + "everyone");// Expected output: "hello everyone"console.log(2001 + ": A Space Odyssey");// Expected output: "2001: A Space Odyssey"

Sintaxe

js
x + y

Descrição

O operador de adição está encarregado para duas operações distintas, adição numérica e concatenação de Strings. Ao avaliar, ele primeiro coage ambos os operandos para primitivos chamando a função do objeto[@@toPrimitive]()()(com "default" como dica), e os métodos valueOf(), e toString(), nessa ordem. Em seguida, são testados os tipos dos dois operandos:

  • Se um lado é uma string, o outro operando também éconvertido em uma string e eles são concatenados.
  • Se ambos foremBigInts, a adição de BigInt será executada. Se um lado for um BigInt, mas o outro não, umTypeError será lançado.
  • Caso contrário, ambos os lados sãoconvertidos em números e a adição numérica é executada.

A concatenação de strings geralmente é considerada equivalente aliterais de modelo ouString.prototype.concat(), mas não são. A adição força a expressão a uma chamadaprimitive , que chamavalueOf() em prioridade; por outro lado, literais de modelo econcact() converte a expressão para uma string, que chamatoString() em prioridade. Se a expressão tiver o método@@toPrimitive, a concatenação de strings o chama com "default" como dica, enquanto literais de modelo usam "string". Isso é importante para objetos que têm diferentes representações de string e primitivas — comoTemporal, cujo métodovalueOf() lança.

js
const t = Temporal.Now.instant();"" + t; // Throws TypeError`${t}`; // '2022-07-31T04:48:56.113918308Z'"".concat(t); // '2022-07-31T04:48:56.113918308Z'

Você é aconselhado a não usar "" + x para executar acoerção de string.

Exemplos

Adição numérica

js
// Number + Number -> adição1 + 2; // 3// Boolean + Number -> adiçãotrue + 1; // 2// Boolean + Boolean -> adiçãofalse + false; // 0

Concatenação de String

js
// String + String -> concatenação"foo" + "bar"; // "foobar"// Number + String -> concatenação5 + "foo"; // "5foo"// String + Boolean -> concatenação"foo" + false; // "foofalse"

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-addition-operator-plus

Compatibilidade de navegadores

Veja também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp