Strings
Declarar Strings, Strings multilinha, construção de Strings, concat vs template Strings. Operações básicas: length, indexOf, substring, replace, trim[ ], charAttoUpperCase(), toLowerCase().
O que são Strings
Strings representam um texto qualquer. Em Javascript, strings são um tipo e não possuem tamanho pré-definido. Além disso, não é necessário alocar memória para criar uma String já que isso é feito automaticamente ao declará-la.
Declarando uma String
Strings são declaradas entre aspas simples ''
ou duplas " "
:
Não há regra para utilizar uma ou outra. No geral, Strings de aspas simples deixam o código menos poluído. Entretanto, aspas duplas são mais práticas para textos em inglês, nos quais certas contrações (por exemplo, is
para 's
) requerem aspas simples, o que quebraria Strings abertas por aspas simples.
\n, \t e caractere de escape
Strings possuem caracteres especiais para formatação. Por exemplo, \n
, que pula uma linha, e \t
, que força uma tabulação.
Ainda é possível escapar carateres especiais utilizando \
, impedindo seu comportamento padrão. Por exemplo:
Imprimir, literalmente, o caractere
\n
(Que normalmente imprimiria uma quebra de linha) com\\n
Imprimir, literalmente, o caractere
\t
(Que normalmente uma tabulação) com\\t
Evitar que que
'
feche uma string aberta por aspas simples com\'
Acessar caracteres de Strings
É possível acessar caracteres de strings utilizando o operador []
Caracteres em uma Strings são indexados a partir de 0.
Concatenando Strings
O operador +
concatena duas strings:
É inconveniente utilizar o operador +
para gerar strings complexas. A melhor maneira de fazer isto é utilizar template strings.
Template Strings
São definidas entre crases ``. É possível montar strings a partir de variáveis ou retorno de expressões Javascripts notadas entre ${}
:
Mesmo sendo possível adicionar o retorno de qualquer expressão entre ${}
, ainda é uma boa prática armazenar cálculos em variáveis com nomes descritivos:
length: Comprimento de uma string
O atributo .length
de uma string retorna seu comprimento..
É possível utilizar length
para iterar sobre uma string por meio de um for
carectere a caractere:
Imutabilidade de Strings
Ao contrário de outras linguagens, Strings são imutáveis em Javascript. Isso significa que não é possível modificar um caractere específico ao acessá-lo com o operador [ ]
.
A tática adotada é sempre criar uma nova string e atribuí-la à variável desejada.
replace()
Substitui a primeira ocorrência de uma substring por outra em uma string. my_string.replace(old_substr, new_substr)
.
replaceAll()
Substitui todas as ocorrências de uma substring por outra em uma string. my_string.replace_all(old_substr, new_substr)
IMPORTANTE: Novas funcionalidades do Javascript não são implementadas ao mesmo tempo em todos os Browsers. replaceAll AINDA NÃO FUNCIONA EM TODOS OS NAVEGADORES! Em especial, versões inferiores à 85 do Google Chrome não implementaram o método ainda.
Em situações como esta, não vale a pena economizar algumas linhas de código a custo de gerar um bug que certamente afetará muitos usuários. A preferência é por código portátil, que funcione em diversos navegadores.
split() e join() - a MANEIRA RECOMENDADA de substituir substrings
O método split quebra uma string em um array, utilizando old_substr
como separador:
O método join aglutina um array de strings em uma única string, utilizando new_substr
como aglutinador:
É possível utilizar os métodos separadamente, mas é comum utilizá-los um logo após o outro:
Os métodos split
e join
são amplamente implementados em diversos browsers. Portanto, esta maneira deve ser priorizada.
indexOf()
Retorna o índice da primeira ocorrencia de uma substr
em my_str
. Caso não exista alguma ocorrência, retorna -1.
substring() e substituir caractere em um índice específico
Infelizmente, ainda não existe função nativa que permita modificar um caractere em um index específico de uma string. A estratégia atual é gerar duas substrings, uma anterior e outra posterior ao index desejado, e então concatená-las com a nova substring no meio.
O método .substring(start, end)
permite gerar substrings a partir de índices.
A seleção da substring é fechada em start
mas aberta em end
, semelhante ao [ ) da matemática.
Em suma, o caractere no índice inicial é incluído mas o no índice final não.
Caso end
não seja passado como argumento, .substring
o define como my_str.length + 1
. Ou seja, retorna de start
até o final da string, incluindo o último caractere.
A estratégia consiste em concatenar a substring anterior ao índice, a nova substring e a substring posterior ao índice:
trim()
Remove espaços em branco e tabulações do início e fim da string.
toUpperCase() e toLowerCase()
Passam todos os caracteres da string para letra maiúscula (toUpperCase
) ou minúscula (toLowerCase
).
Last updated