[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String [Back]  [Original]

String - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

String

Baseline Widely available *

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.

Sumrio

O objeto global String um construtor para strings, ou uma sequncia de caracteres.

In this article

Sintaxe

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)

Parmetros

thing

Qualquer coisa a ser convertida para uma string.

Descrio

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.

Acesso caractere

H duas maneiras de acessar um caractere individual em uma string. A primeira o mtodo charAt:

js
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:

js
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.)

Comparando strings

Desenvolvedores de C tm a funo strcmp() para comparar strings. No JavaScript, basta usar o operador maior que e menor que:

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

Distino entre String primitiva e objetos 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.

js
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:

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

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

Propriedades

String

Permite a adio de propriedades a um objeto String.

Mtodos

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 Strings

Mtodos 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:

js
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:

js
/*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]);
  }
})();

Instncias de String

Propriedades

Mtodos

Mtodos no relacionados ao HTML

Mtodos de envoltrio HTML

Exemplos

Converso de 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:

js
var outputStrings = [];
for (let i = 0, n = inputValues.length; i < n; ++i) {
  outputStrings.push(String(inputValues[i]));
}

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-string-objects

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page