Visit Mozilla.org

Referencia de JavaScript 1.5:Objetos globales:String

De MDC


Tabla de contenidos

[editar] Resumen

Objeto del Núcle

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

[editar] Se Crea Con

El constructor String:

new String(cadena)

[editar] Parámetros

cadena 
Cualquier cadena.

[editar] Descripción

String objects are created by calling the constructor new String():

s_obj = new String("foo"); // creates a String object

The String object wraps Javascript's string primitive data type with the methods described below. The global function String() can also be called without new in front to create a primitive string:

s_prim = String("bar"); //creates a primitive string

Literal strings in Javascript source code create primitive strings:

s_also_prim = "foo"; // creates a primitive string

Because Javascript automatically converts between string primitives and String objects, you can call any of the methods of the String object on a string primitive. JavaScript automatically converts the string primitive to a temporary String object, calls the method, then discards the temporary String object. For example, you can use the String.length property on a string primitive created from a string literal:

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

(A string literal can use single or double quotation marks.)

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.

[editar] 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 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'

[editar] 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.");

[editar] Propiedades

  • constructor: Especifica la función que crea un prototipo de objeto.
  • length: Refleja la longitud de la cadena.
  • prototype: Permite la adición de propiedades a un objeto Cadena.

[editar] Métodos estáticos

  • fromCharCode: Devuelve una cadena creada por una secuencia específica de valores Unicode.

[editar] Methods

[editar] Métodos no relacionados con HTML

  • charAt: Devuelve el carácter en el índice especificado.
  • charCodeAt: Devuelve el número que indica el valor Unicode del carácter en el índice especificado.
  • concat: Combina el texto de dos cadenas y devuelve una nueva cadena.
  • indexOf: Devuelve el índice dentro del objeto String que realiza la llamada de la primera ocurrencia del valor especificado, o -1 si no lo encuentra.
  • lastIndexOf: Devuelve el índice dentro del objeto String que realiza la llamada de la última ocurrencia del valor especificado, o -1 si no lo encuentra.
  • match: Se usa para emparejar una expresión regular con una cadena.
  • replace: Se usa para emparejar una expresión regular con una cadena, y reemplezar la subcadena emparejada con una nueva subcadena.
  • search: Realiza una búsqueda de una expresión regular en una cadena especificada.
  • slice: Extrae una sección de una cadena y devuelve una nueva cadena.
  • split: Divide un objeto String en un arreglo de cadenas, separando la cadena en subcadenas.
  • substr: Devuelve los caracteres de una cadena comenzando en la localización especificada y hasta el número de caracteres especificado.
  • substring: Devuelve los caracteres de una cadena entre dos índices dentro de la cadena.
  • toLowerCase: Devuelve el valor de la cadena que realiza la llamada en minúsculas.
  • toSource: Devuelve el objeto literal que representa el objeto especificado; puede usar este valor para crear un nuevo objeto. Sobreescribe el método Object.toSource.
  • toString: Devuelve una cadena que representa el objeto especificado. Sobreescribe el método Object.toString.
  • toUpperCase: Devuelve el valor de la cadena que realiza la llamada en mayúsculas.
  • valueOf: Devuelve el valor primitivo del objeto especificado. Sobreescribe el método Object.valueOf.

[editar] HTML wrapper methods

No estándar

Each of the following methods returns a copy of the string wrapped inside an HTML tag. For example, "test".bold() returns "<b>test</b>".

These methods are of limited use, as they provide only a subset of the available HTML tags and attributes.

[editar] Ejemplos

[editar] 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";

[editar] 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()

[editar] 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"

[editar] 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);