Objecte String
L'objecte String de JavaScript és l'eina bàsica per treballar amb text. Encara que normalment utilitzem cadenes com a valors primitius (per exemple, let text = "exemple"), JavaScript les tracta internament com a objectes String quan apliquem mètodes o accedim a propietats.
És crucial entendre que les cadenes a JavaScript són immutables: cap mètode de l'objecte String modifica la cadena original; tots retornen una nova cadena.
Propietats Clau de l'Objecte String
| Propietat | Descripció | Exemple | Resultat |
.length |
Retorna la longitud de la cadena (el nombre de caràcters). És la propietat més utilitzada. | let s = "Hola"; s.length |
4 |
prototype |
Permet afegir noves propietats i mètodes a l'objecte String que estaran disponibles per a totes les cadenes. (Ús avançat, poc recomanat en el codi modern). |
String.prototype.saluda = function() { ... } |
N/A |
constructor |
Retorna la funció que va crear l'objecte String. |
"text".constructor |
[Function: String] |
Mètodes Essencials de Manipulació i Cerca
1. Cerca i Inclusió
Aquests mètodes ajuden a determinar si una cadena conté un text específic i, si és així, on es troba.
| Mètode | Descripció | Exemple | Resultat |
.includes(str) |
Comprova si la cadena conté la subcadena str. Retorna true o false. |
'gat.jpg'.includes('.jpg') |
true |
.indexOf(str) |
Retorna la posició (índex) de la primera ocurrència de str, o -1 si no es troba. |
'banana'.indexOf('na') |
2 |
.lastIndexOf(str) |
Retorna la posició de l'última ocurrència de str. |
'banana'.lastIndexOf('na') |
4 |
.startsWith(str) |
Comprova si la cadena comença amb str. |
'web.html'.startsWith('web') |
true |
.endsWith(str) |
Comprova si la cadena acaba amb str. |
'web.html'.endsWith('.com') |
false |
.search(str/regexp) |
Cerca i retorna l'índex de la primera coincidència. Pot acceptar una Expressió Regular (RegExp). |
'A12B34'.search(/[0-9]/) |
1 (la posició del primer número) |
2. Extracció i Transformació de Subcadenes
Aquests mètodes permeten obtenir un fragment de la cadena original.
| Mètode | Descripció | Exemple | Resultat |
.slice(x, y) |
Extreu una part des de l'índex x fins a l'índex y (excloent y). Accepta índexs negatius (que compten des del final). |
'JavaScript'.slice(4, 9) |
'Scrip' |
.substring(x, y) |
Similar a slice(), però tracta els índexs negatius o superiors al final com 0 o length respectivament. |
'JavaScript'.substring(0, 4) |
'Java' |
.substr(x, y) (Obsolet) |
Extreu des de l'índex x, un total de y caràcters. |
'JavaScript'.substr(4, 5) |
'Scrip' |
.charAt(x) |
Retorna el caràcter a la posició x. |
'Hola'.charAt(1) |
'o' |
3. Modificació i Format
| Mètode | Descripció | Exemple | Resultat |
.concat(str) |
Uneix la cadena original amb la cadena str. (L'operador + és la forma més habitual). |
'Bon'.concat(' dia!') |
'Bon dia!' |
.repeat(x) |
Retorna una nova cadena repetida x vegades. |
'ha'.repeat(3) |
'hahaha' |
.replace(str1, str2) |
Reemplaça la primera ocurrència de str1 per str2. (Es necessita una RegExp amb el flag global /g per reemplaçar-ho tot). |
'plata i or'.replace(' ', ' o ') |
'plata o or' |
.match(regexp) |
Cerca dins la cadena utilitzant una Expressió Regular (RegExp) i retorna les coincidències en un Array. |
'a1b2'.match(/[a-z]/g) |
['a', 'b'] |
.split(car) |
Divideix la cadena en un Array de subcadenes usant car com a separador. |
'casa,llibre,gos'.split(',') |
['casa', 'llibre', 'gos'] |
.toLowerCase() |
Converteix tots els caràcters a minúscules. | 'HELLO'.toLowerCase() |
'hello' |
.toUpperCase() |
Converteix tots els caràcters a majúscules. | 'hello'.toUpperCase() |
'HELLO' |
.trim() |
Elimina els espais en blanc (inclou tabulacions i salts de línia) del principi i del final de la cadena. | ' \t text \n '.trim() |
'text' |
.toString()/.valueOf() |
Aquests mètodes s'utilitzen per obtenir la representació de la cadena com a valor primitiu, especialment útil si la variable original era un objecte String explícit. |
N/A | N/A |