Get to know MDN better
Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.
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.
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:
A concatenação de strings geralmente é considerada equivalente a literais de modelo ou String.prototype.concat(), mas não são. A adição força a expressão a uma chamada primitive , que chama valueOf() em prioridade; por outro lado, literais de modelo e concact() converte a expressão para uma string, que chama toString() 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 — como Temporal, cujo método valueOf() lança.
Você é aconselhado a não usar "" + x para executar a coerção de string.
| ECMAScript® 2027 Language Specification # sec-addition-operator-plus |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 de fev. de 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.