String

  • Enlace amigable (slug) de la revisión: Referencia_de_JavaScript_1.5/Objetos_globales/String
  • Título de la revisión: String
  • Id de la revisión: 142081
  • Creada:
  • Creador: Talisker
  • ¿Es la revisión actual? No
  • Comentario /* Examples */

Contenido de la revisión

Resumen

Objeto del Núcle

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

Creado Por

El constructor String:

new String(cadena)

Parámetros

cadena 
Cualquier cadena.

Description

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.)

String objects can be converted to primitive strings with String.valueOf().

String primitives and String objects give different results when evaluated as Javascript. Primitives are treated as source code; String objects are treated as a character sequence object. For example:

s1 = "2 + 2" // creates a string primitive
s2 = new String("2 + 2") // creates a String object
eval(s1)     // returns the number 4
eval(s2)     // returns the string "2 + 2"
eval(s2.valueOf()); // returns the number 4

You can convert the value of any object into a string using the global String function.

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'

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

  • 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.

Métodos estáticos

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

Methods

Methods unrelated to HTML

  • charAt: Returns the character at the specified index.
  • charCodeAt: Returns a number indicating the Unicode value of the character at the given index.
  • concat: Combines the text of two strings and returns a new string.
  • indexOf: Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found.
  • lastIndexOf: Returns the index within the calling String object of the last occurrence of the specified value, or -1 if not found.
  • match: Used to match a regular expression against a string.
  • replace: Used to find a match between a regular expression and a string, and to replace the matched substring with a new substring.
  • search: Executes the search for a match between a regular expression and a specified string.
  • slice: Extracts a section of a string and returns a new string.
  • split: Splits a String object into an array of strings by separating the string into substrings.
  • substr: Returns the characters in a string beginning at the specified location through the specified number of characters.
  • substring: Returns the characters in a string between two indexes into the string.
  • toLowerCase: Returns the calling string value converted to lowercase.
  • toSource: Returns an object literal representing the specified object; you can use this value to create a new object. Overrides the Object.toSource method.
  • toString: Returns a string representing the specified object. Overrides the Object.toString method.
  • toUpperCase: Returns the calling string value converted to uppercase.
  • valueOf: Returns the primitive value of the specified object. Overrides the Object.valueOf method.

HTML wrapper methods

{{template.No_estandar_texto()}}

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.

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);


{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Reference/Global_Objects/String", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Objets_globaux/String", "ja": "ja/Core_JavaScript_1.5_Reference/Global_Objects/String", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Obiekty/String" } ) }}

Fuente de la revisión

<p>
</p>
<h3 name="Resumen"> Resumen </h3>
<p><b>Objeto del Núcle</b>
</p><p>Un objeto que representa una serie de caracteres dentro de una cadena.
</p>
<h3 name="Creado_Por"> Creado Por </h3>
<p>El constructor String:
</p>
<pre class="eval">new String(<i>cadena</i>)
</pre>
<h3 name="Par.C3.A1metros"> Parámetros </h3>
<dl><dt> <code>cadena</code> </dt><dd> Cualquier cadena.
</dd></dl>
<h3 name="Description"> Description </h3>
<p>String objects are created by calling the constructor <code>new String()</code>:
</p>
<pre class="eval">s_obj = new String("foo"); // creates a String object
</pre>
<p>The <code>String</code> object wraps Javascript's string primitive data type with the methods described below. The global function <code>String()</code> can also be called without <code>new</code> in front to create a primitive string:
</p>
<pre class="eval">s_prim = String("bar"); //creates a primitive string
</pre>
<p>Literal strings in Javascript source code create primitive strings:
</p>
<pre class="eval">s_also_prim = "foo"; // creates a primitive string
</pre>
<p>Because Javascript automatically converts between string primitives and String objects, you can call any of the methods of the <code>String</code> object on a string primitive. JavaScript automatically converts the string primitive to a temporary <code>String</code> object, calls the method, then discards the temporary <code>String</code> object. For example, you can use the <code>String.length</code> property on a string primitive created from a string literal:
</p>
<pre class="eval">s_obj.length;       // 3
s_prim.length;      // 3
s_also_prim.length; // 3
'foo'.length;       // 3
"foo".length;       // 3
</pre>
<p>(A string literal can use single or double quotation marks.) 
</p><p>String objects can be converted to primitive strings with <code>String.valueOf()</code>.
</p><p>String primitives and String objects give different results when evaluated as Javascript. Primitives are treated as source code; String objects are treated as a character sequence object. For example:
</p>
<pre class="eval">s1 = "2 + 2" // creates a string primitive
s2 = new String("2 + 2") // creates a String object
eval(s1)     // returns the number 4
eval(s2)     // returns the string "2 + 2"
eval(s2.valueOf()); // returns the number 4
</pre>
<p>You can convert the value of any object into a string using the global <a href="es/Referencia_de_JavaScript_1.5/Funciones/String">String</a> function.
</p>
<h4 name="Acceder_a_caracteres_individuales_de_una_cadena"> Acceder a caracteres individuales de una cadena </h4>
<p>Hay dos maneras de acceder a un carácter individual de una cadena. El primero es el método <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/charAt">charAt</a>:
</p>
<pre class="eval">'gato'.charAt(1) // devuelve "a"
</pre>
<p>El otro modo es tratar la cadena como un arreglo (vector), donde cada índice se corresponde con un carácter individual:
</p>
<pre class="eval">'gato'[1] // devuelve "a"
</pre>
<p>Nota: El segundo modo (tratar la cadena como un arreglo) no forma parte de ECMAScript; es una característica de JavaScript.
</p><p>En ambos casos, intentar asignar un carácter individual no funcionará. Intentar asignar un carácter a través de <code>charAt</code> provocará un error:
</p>
<pre class="eval">var x = 'gato';
x.charAt(0) = 'b'; // error
</pre>
<p>Asignar un carácter vía índice no provoca ningún error, pero no produce cambios en la cadena:
</p>
<pre class="eval">var x = 'gato';
x[2] = 'p';
alert(x);    // aún contiene 'gato'
alert(x[2]); // aún contiene 't'
</pre>
<h4 name="Comparaci.C3.B3n_de_cadenas"> Comparación de cadenas </h4>
<p>Los programadores de C tienen la función <code>strcmp()</code> para la comparación de cadenas. En JavaScript, sólo tiene que usar los operadores menor que y mayor que:
</p>
<pre class="eval">var a = "a";
var b = "b";
if (a &lt; b) // true
    document.write(a + " es menor que " + b);
else if (a &gt; b)
    document.write(a + " es mayor que " + b);
else
    document.write(a + " y " + b + " son iguales.");
</pre>
<h3 name="Propiedades"> Propiedades </h3>
<ul><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/constructor">constructor</a>: Especifica la función que crea un prototipo de objeto.  
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/length">length</a>: Refleja la longitud de la cadena.  
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/prototype">prototype</a>: Permite la adición de propiedades a un objeto Cadena.
</li></ul>
<h3 name="M.C3.A9todos_est.C3.A1ticos"> Métodos estáticos </h3>
<ul><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/fromCharCode">fromCharCode</a>: Devuelve una cadena creada por una secuencia específica de valores Unicode.
</li></ul>
<h3 name="Methods"> Methods </h3>
<h4 name="Methods_unrelated_to_HTML"> Methods unrelated to HTML </h4>
<ul><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/charAt">charAt</a>: Returns the character at the specified index.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/charCodeAt">charCodeAt</a>: Returns a number indicating the Unicode value of the character at the given index.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/concat">concat</a>: Combines the text of two strings and returns a new string.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/indexOf">indexOf</a>: Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/lastIndexOf">lastIndexOf</a>: Returns the index within the calling String object of the last occurrence of the specified value, or -1 if not found.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/match">match</a>: Used to match a regular expression against a string.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/replace">replace</a>: Used to find a match between a regular expression and a string, and to replace the matched substring with a new substring.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/search">search</a>: Executes the search for a match between a regular expression and a specified string.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/slice">slice</a>: Extracts a section of a string and returns a new string.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/split">split</a>: Splits a String object into an array of strings by separating the string into substrings.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/substr">substr</a>: Returns the characters in a string beginning at the specified location through the specified number of characters.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/substring">substring</a>: Returns the characters in a string between two indexes into the string.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/toLowerCase">toLowerCase</a>: Returns the calling string value converted to lowercase.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/toSource">toSource</a>: Returns an object literal representing the specified object; you can use this value to create a new object. Overrides the <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/Object/toSource">Object.toSource</a> method.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/toString">toString</a>: Returns a string representing the specified object. Overrides the <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/Object/toString">Object.toString</a> method.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/toUpperCase">toUpperCase</a>: Returns the calling string value converted to uppercase.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/valueOf">valueOf</a>: Returns the primitive value of the specified object. Overrides the <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/Object/valueOf">Object.valueOf</a> method.
</li></ul>
<h4 name="HTML_wrapper_methods"> HTML wrapper methods </h4>
<p>{{template.No_estandar_texto()}}
</p><p>Each of the following methods returns a copy of the string wrapped inside an HTML tag. For example, "test".bold() returns "&lt;b&gt;test&lt;/b&gt;".
</p>
<ul><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/anchor">anchor</a>: <a class="external" href="http://www.w3.org/TR/html401/struct/links.html#adef-name-A"><code>&lt;a name="<i>name</i>"&gt;</code></a> (hypertext target)
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/big">big</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-BIG"><code>&lt;big&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/blink">blink</a>: <code>&lt;blink&gt;</code>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/bold">bold</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-B"><code>&lt;b&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/fixed">fixed</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-TT"><code>&lt;tt&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/fontcolor">fontcolor</a>: <code>&lt;font color="<i>color</i>"&gt;</code>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/fontsize">fontsize</a>: <code>&lt;font size="<i>size</i>"&gt;</code>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/italics">italics</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-I"><code>&lt;i&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/link">link</a>: <a class="external" href="http://www.w3.org/TR/html401/struct/links.html#adef-href"><code>&lt;a href="<i>url</i>"&gt;</code></a> (link to URL)
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/small">small</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-SMALL"><code>&lt;small&gt;</code></a>.
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/strike">strike</a>: <a class="external" href="http://www.w3.org/TR/html401/present/graphics.html#edef-STRIKE"><code>&lt;strike&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/sub">sub</a>: <a class="external" href="http://www.w3.org/TR/html401/struct/text.html#edef-SUB"><code>&lt;sub&gt;</code></a>
</li><li> <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/sup">sup</a>: <a class="external" href="http://www.w3.org/TR/html401/struct/text.html#edef-SUP"><code>&lt;sup&gt;</code></a>
</li></ul>
<p>These methods are of limited use, as they provide only a subset of the available HTML tags and attributes.
</p>
<h3 name="Ejemplos"> Ejemplos </h3>
<h4 name="Ejemplo:_Primitiva_cadena"> Ejemplo: Primitiva cadena </h4>
<p>La siguiente sentencia crea una primitiva de cadena desde la cadena literal "Alejandra", y la asigna a la variable <code>nombre</code>:
</p>
<pre class="eval">var nombre = "Alejandra";
</pre>
<h4 name="Ejemplo:_Propiedades_de_la_primitiva_de_cadena"> Ejemplo: Propiedades de la primitiva de cadena </h4>
<p>Las siguientes expresiones se evalúan como <code>9</code>, "<code>ALEJANDRA</code>", y "<code>alejandra</code>", respectivamente:
</p>
<pre class="eval">nombre.length
nombre.toUpperCase()
nombre.toLowerCase()
</pre>
<h4 name="Ejemplo:_Asignar_un_car.C3.A1cter_individual_de_una_cadena"> Ejemplo: Asignar un carácter individual de una cadena </h4>
<p>Un carácter individual no puede asignarse directamente. En cambio, una nueva cadena se puede crear usando los métodos <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/substr">substr</a> o <a href="es/Referencia_de_JavaScript_1.5/Objetos_globales/String/substring">substring</a>:
</p>
<pre class="eval">function setCharAt(cadena, indice, caracter) {
   return cadena.substr(0, indice) + caracter + cadena.substr(indice + 1);
}

alert(setCharAt('scam', 1, 'p')); // produce la cadena "spam"
</pre>
<h4 name="Ejemplo:_Pasar_una_cadena_entre_scripts_de_diferentes_ventanas_o_marcos_.28frames.29"> Ejemplo: Pasar una cadena entre scripts de diferentes ventanas o marcos (frames) </h4>
<p>El siguiente código crea dos variables de tipo cadena y abre una segunda ventana:
</p>
<pre class="eval">var apellido = "Maldonado";
var nombre = "Alejandra";
ventanaEmpleado = window.open('string2.html', 'window1', 'width=300, height=300');
</pre>
<p>Si el código HTML de la segunda ventana (<code>string2.html</code>) crea dos variables cadena, <code>empleadoApellido</code> y <code>empleadoNombre</code>, el siguiente código de la primera ventana establece los valores de las variables de la segunda ventana:
</p>
<pre class="eval">ventanaEmpleado.empleadoNombre = nombre;
ventanaEmpleado.empleadoApellido = apellido;
</pre>
<p>El siguiente código de la primera ventana muestra el valor de las variables de la segunda ventana:
</p>
<pre class="eval">alert('empleadoNombre en ventanaEmpleado es ' + ventanaEmpleado.empleadoNombre);
alert('empleadoApellido en ventanaEmpleado es ' + ventanaEmpleado.empleadoApellido);
</pre>
<p><br>
</p>
<div class="noinclude">
</div>
{{ wiki.languages( { "en": "en/Core_JavaScript_1.5_Reference/Global_Objects/String", "fr": "fr/R\u00e9f\u00e9rence_de_JavaScript_1.5_Core/Objets_globaux/String", "ja": "ja/Core_JavaScript_1.5_Reference/Global_Objects/String", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/Obiekty/String" } ) }}
Revertir a esta revisión