| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Addition | [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 operador de adio (+) produz a soma de operandos numricos ou concatenao de strings.
console.log(2 + 2);
// Expected output: 4
console.log(2 + true);
// Expected output: 3
console.log("hello " + "everyone");
// Expected output: "hello everyone"
console.log(2001 + ": A Space Odyssey");
// Expected output: "2001: A Space Odyssey"
x + y
O operador de adio est encarregado para duas operaes distintas, adio numrica e concatenao de Strings. Ao avaliar, ele primeiro coage ambos os operandos para primitivos chamando a funo do objeto [@@toPrimitive]()()(com "default" como dica), e os mtodos valueOf(), e toString(), nessa ordem. Em seguida, so testados os tipos dos dois operandos:
TypeError ser lanado.A concatenao de strings geralmente considerada equivalente a literais de modelo ou String.prototype.concat(), mas no so. A adio fora a expresso a uma chamada primitive , que chama valueOf() em prioridade; por outro lado, literais de modelo e concact() converte a expresso para uma string, que chama toString() em prioridade. Se a expresso tiver o mtodo @@toPrimitive, a concatenao de strings o chama com "default" como dica, enquanto literais de modelo usam "string". Isso importante para objetos que tm diferentes representaes de string e primitivas como Temporal, cujo mtodo valueOf() lana.
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 no usar "" + x para executar a coero de string.
// Number + Number -> adio
1 + 2; // 3
// Boolean + Number -> adio
true + 1; // 2
// Boolean + Boolean -> adio
false + false; // 0
// String + String -> concatenao
"foo" + "bar"; // "foobar"
// Number + String -> concatenao
5 + "foo"; // "5foo"
// String + Boolean -> concatenao
"foo" + false; // "foofalse"
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-addition-operator-plus |
This page was last modified on 17 de fev. de 2025 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 |