| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String | [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.
* Some parts of this feature may have varying levels of support.
O objeto global String um construtor para strings, ou uma sequncia de caracteres.
Mtodos genricos de Strings
String
As formas literais de declarao de String so:
'string text' "string text" " espaol English portugus "
Alm da forma regular, de caracteres de impresso, caracteres especiais podem ser codificados usando a escape notation (notao com barra invertida):
| Codigo | Saida |
|---|---|
| \0 | o caractere NULL |
| \' | aspas simples |
| \" | aspas duplas |
| \\ | barra invertida |
| \n | nova linha |
| \r | carriage return |
| \v | tab vertical |
| \t | tab |
| \b | backspace |
| \f | form feed |
| \uXXXX | unicode codepoint |
| \xXX | the Latin-1 character |
Ou, usando o objeto global String diretamente:
String(thing) new String(thing)
thingQualquer coisa a ser convertida para uma string.
Strings so teis para guardar dados que podem ser representados em forma de texto. Uma das operaes mais usadas nas strings checar seu tamanho, para construir e concaten-las usando os operadores + e +=, checando pela existncia ou posio de substrings com o mtodo indexOf , ou extrair substrings com o mtodo substring.
H duas maneiras de acessar um caractere individual em uma string. A primeira o mtodo charAt:
return "cat".charAt(1); // returns "a"
A outra maneira (introduzido no ECMAScript 5) consiste em tratar a string como um objeto Array-like, onde os carteres individuais correspondem a um ndice numrico:
return "cat"[1]; // returns "a"
Para acesso de caracteres usando uma notao de colchetes, tentando deletar ou designar um valor a estas propriedades no haver sucesso. As propriedades envolvidas no so nem escritas ou configurveis. (Veja Object.defineProperty para mais informaes.)
Desenvolvedores de C tm a funo strcmp() para comparar strings. No JavaScript, basta usar o operador maior que e menor que:
var a = "a";
var b = "b";
if (a < b)
// verdadeiro
print(a + " menor que " + b);
else if (a > b) print(a + " maior que " + b);
else print(a + " e " + b + " so iguais.");
Um resultado similar pode ser alcanado usando o mtodo localeCompare herdado pelas instncias de String.
Note que o JavaScript distingue entre objetos String e valores de string primitivas. (O mesmo vlido para Boolean e Numbers.)
Strings literais (definidas por aspas duplas ou aspas simples) e strings retornadas da chamada da funo String fora do contexto de uma funo construtora (sem o uso da palavra chave new) so strings primitivas. O JavaScript converte automaticamente strings primitivas para objetos do tipo String, por isso possvel utilizar os mtodos do objeto String atravs de strings primitivas. Em contextos onde um mtodo invocado de uma string primitiva ou uma propriedade procurada, o JavaScript ir criar um objeto com a string primitiva e executar o mtodo ou acessar a propriedade procurada.
var s_prim = "foo";
var s_obj = new String(s_prim);
console.log(typeof s_prim); // Loga "string"
console.log(typeof s_obj); // Loga "object"
String primitivas e objetos String tambm do resultados diferentes quando usado eval. Primitivas passadas para eval so tratadas como cdigo fonte; Objetos String so tratados como todos os outros objetos so, retornando o objeto. Por exemplo:
s1 = "2 + 2"; // cria uma string primitiva
s2 = new String("2 + 2"); // cria um objeto de String
console.log(eval(s1)); // retorna o nmero 4
console.log(eval(s2)); // retorna a string "2 + 2"
Por estas razes, o cdigo pode quebrar quando encontra objetos String quando espera na verdade uma string primitiva, apesar de que geralmente autores no precisam se preocupar com a distino.
Um objeto String pode ser convertido sempre para sua contraparte primitiva com o mtodo valueOf.
console.log(eval(s2.valueOf())); // retorna o nmero 4
Nota:
Para uma outra possvel abordagem para strings em JavaScript, favor ler o artigo sobre StringView a C-like representation of strings based on typed arrays.
StringPermite a adio de propriedades a um objeto String.
String.fromCharCode()Retorna uma string criada usando a sequncia especificada de valores Unicode.
String.fromCodePoint() Retorna uma string criada usando a sequncia especificada de posies de cdigo.
Mtodos genricos de StringsMtodos de instncia String tambm esto disponveis no Firefox a partir de JavaScript 1.6 (embora no faa parte dos padres ECMAScript) no objeto String para aplicar mtodos String a qualquer objeto:
var num = 15;
alert(String.replace(num, /5/, "2"));
Genricos tambm esto disponveis em mtodos Array.
O seguinte uma implementao para fornecer suporte a navegadores sem suporte:
/*globals define*/
// Assume que todos os mtodos de instncia String fornecidos
// j presentes (podem ser usadas implementaes para este se no disponvel)
(function () {
"use strict";
var i,
// Ns tambm poderamos construir o array de mtodos com os seguintes,
// mas o mtodo getOwnPropertyNames() no implementvel:
// Object.getOwnPropertyNames(String).filter(function (methodName)
// {return typeof String[methodName] === 'function'});
methods = [
"quote",
"substring",
"toLowerCase",
"toUpperCase",
"charAt",
"charCodeAt",
"indexOf",
"lastIndexOf",
"startsWith",
"endsWith",
"trim",
"trimLeft",
"trimRight",
"toLocaleLowerCase",
"toLocaleUpperCase",
"localeCompare",
"match",
"search",
"replace",
"split",
"substr",
"concat",
"slice",
],
methodCount = methods.length,
assignStringGeneric = function (methodName) {
var method = String.prototype[methodName];
String[methodName] = function (arg1) {
return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
};
};
for (i = 0; i < methodCount; i++) {
assignStringGeneric(methods[i]);
}
})();
String possvel usar String como uma alternativa "mais segura" toString, como embora normalmente ainda chama o toString subjacente, tambm funciona para null e undefined. Por exemplo:
var outputStrings = [];
for (let i = 0, n = inputValues.length; i < n; ++i) {
outputStrings.push(String(inputValues[i]));
}
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-string-objects |
This page was last modified on 22 de mai. de 2026 by MDN contributors.
StringString.prototype.anchor()at()String.prototype.big()String.prototype.blink()String.prototype.bold()String.prototype.charAt()String.prototype.charCodeAt()String.prototype.codePointAt()String.prototype.concat()String.prototype.endsWith()String.prototype.fixed()String.prototype.fontcolor()String.prototype.fontsize()String.prototype.includes()String.prototype.indexOf()isWellFormed()String.prototype.italics()String.prototype.lastIndexOf()String.prototype.link()String.prototype.localeCompare()String.prototype.match()String.prototype.matchAll()String.prototype.normalize()String.prototype.padEnd()String.prototype.padStart()String.prototype.repeat()String.prototype.replace()String.prototype.replaceAll()String.prototype.search()String.prototype.slice()String.prototype.small()String.prototype.split()String.prototype.startsWith()String.prototype.strike()String.prototype.sub()String.prototype.substr()String.prototype.substring()String.prototype.sup()String.prototype.toLocaleLowerCase()String.prototype.toLocaleUpperCase()String.prototype.toLowerCase()String.prototype.toString()String.prototype.toUpperCase()toWellFormed()String.prototype.trim()String.prototype.trimEnd()String.prototype.trimStart()String.prototype.valueOf()String.prototype[@@iterator]()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()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 |