String

Resumen

Un objeto que representa una serie de caracteres dentro de una cadena.

Se Crea Con

El constructor String:

new String(cadena)

Parámetros

cadena
Cualquier cadena.

Descripción

El objeto String se crea llamando al constructor new String():

s_obj = new String("foo"); // crea un objeto String

El objeto String encapsula el tipo de datos de la cadena primitiva con los métodos descritos a continuación. La función global String()también se puede llamar sin poner new delante para crear una cadena primitiva:

s_prim = String("bar"); //crea una Cadena primitiva

Las cadenas literales en el código fuente Javascript crean también cadenas:

s_also_prim = "foo"; // crea una Cadena primitiva

Dado que Javascript convierte automáticamente entre cadenas primitivas y objetos de cadena, podemos llamar a cualquiera de los métodos del objeto String en una cadena primitiva. JavaScript convierte automáticamente la cadena primitiva en un objeto String temporal, llama al método, y luego descarta el objeto String temporal. Por ejemplo, puede utilizar la propiedad String.length en una cadena primitiva creada a partir de una cadena literal:

s_obj.length;       // 3
s_prim.length;      // 3
s_also_prim.length; // 3
'foo'.length;       // 3
"foo".length;       // 3

(Una cadena lieteral puede usar comillas simples o dobles.)

Los objetos String se pueden convertir a cadenas primitivas con String.valueOf().

Las primitivas String y los objetos String dan resultados diferentes cuando son evaluados en Javascript. Las primitivas son tratadas como código fuente; los objetos String son tratados como un objeto de secuencia de caracteres. Por ejemplo:

cadena1 = "2 + 2" // crea una primitiva de cadena
cadena2 = new String("2 + 2") // crea un objeto String
eval(s1)     // returns the number 4
eval(s2)     // returns the string "2 + 2"
eval(s2.valueOf()); // returns the number 4

Puede convertir el valor de cualquier objeto en una cadena usando la función global String.

Acceder a caracteres individuales de una cadena

Hay dos maneras de acceder a un carácter individual de una cadena. El primero es el método String.prototype.charAt():

'gato'.charAt(1) // devuelve "a"

El otro modo es tratar la cadena como un arreglo (vector), donde cada índice se corresponde con un carácter individual:

'gato'[1] // devuelve "a"

Nota: El segundo modo (tratar la cadena como un arreglo) no forma parte de ECMAScript; es una característica de JavaScript.

En ambos casos, intentar asignar un carácter individual no funcionará. Intentar asignar un carácter a través de charAt provocará un error:

var x = 'gato';
x.charAt(0) = 'b'; // error

Asignar un carácter vía índice no provoca ningún error, pero no produce cambios en la cadena:

var x = 'gato';
x[2] = 'p';
alert(x);    // aún contiene 'gato'
alert(x[2]); // aún contiene 't'

Comparación de cadenas

Los programadores de C tienen la función strcmp() para la comparación de cadenas. En JavaScript, sólo tiene que usar los operadores menor que y mayor que:

var a = "a";
var b = "b";
if (a < b) // true
    document.write(a + " es menor que " + b);
else if (a > b)
    document.write(a + " es mayor que " + b);
else
    document.write(a + " y " + b + " son iguales.");

Propiedades

For properties available on String instances, see Properties of String instances.

String.prototype
Permite la adición de propiedades a un objeto Cadena.
Properties inherited from Function:

Métodos

For methods available on String instances, see Methods of String instances.

Methods inherited from Function:

Instancias de String

Propiedades

String.prototype.constructor
Especifica la función que crea un prototipo de objeto.
String.prototype.length
Refleja la longitud de la cadena.
Properties inherited from Object:

Métodos

Ejemplos

Ejemplo: Primitiva cadena

La siguiente sentencia crea una primitiva de cadena desde la cadena literal "Alejandra", y la asigna a la variable nombre:

var nombre = "Alejandra";

Ejemplo: Propiedades de la primitiva de cadena

Las siguientes expresiones se evalúan como 9, "ALEJANDRA", y "alejandra", respectivamente:

nombre.length
nombre.toUpperCase()
nombre.toLowerCase()

Ejemplo: Asignar un carácter individual de una cadena

Un carácter individual no puede asignarse directamente. En cambio, una nueva cadena se puede crear usando los métodos substr o substring:

function setCharAt(cadena, indice, caracter) {
   return cadena.substr(0, indice) + caracter + cadena.substr(indice + 1);
}

alert(setCharAt('scam', 1, 'p')); // produce la cadena "spam"

Ejemplo: Pasar una cadena entre scripts de diferentes ventanas o marcos (frames)

El siguiente código crea dos variables de tipo cadena y abre una segunda ventana:

var apellido = "Maldonado";
var nombre = "Alejandra";
ventanaEmpleado = window.open('string2.html', 'window1', 'width=300, height=300');

Si el código HTML de la segunda ventana (string2.html) crea dos variables cadena, empleadoApellido y empleadoNombre, el siguiente código de la primera ventana establece los valores de las variables de la segunda ventana:
ventanaEmpleado.empleadoNombre = nombre;
ventanaEmpleado.empleadoApellido = apellido;

El siguiente código de la primera ventana muestra el valor de las variables de la segunda ventana:

alert('empleadoNombre en ventanaEmpleado es ' + ventanaEmpleado.empleadoNombre);
alert('empleadoApellido en ventanaEmpleado es ' + ventanaEmpleado.empleadoApellido);

Etiquetas y colaboradores del documento

Etiquetas: 
Contributors to this page: DevManny, teoli, ADP13, Talisker, Mgjbot, Sheppy
Última actualización por: DevManny,
Ocultar la barra lateral