Ves al contingut principal

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