15-Cadenas o strings en javascript

Las cadenas en javascript, sirven para manipular texto

Cualquier caracter escrito entre comillas, javascript lo trata como una cadena (string) tambien si entre comillas no se encuentra nada, (esta vacio) ese vacio es considerado como una cadena

ejemplo de cadena

let car = "volwagen";

En las cadenas se pueden utilizar comillas simples o duplas

ejemplo

 let carName1 = "Volvo XC60";  // comillas duplas
 let carName2 = 'Volvo XC60';  // comillas simples 

Tambien se puede usar comillas dientro de otras comillas desde que estas sean distintas o sea, no sean coincidientes

ejemplo

 let respuesta1 = "Esta bien";
 let respuesta2 = "se llama 'Juan'";
 let respuesta3 = 'se llama "Juan"';

Longitud de una cadena (string)

Para encontrar la longitud de una cadena se usa la propriedad length

ejemplo

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;

Respuesta: 26



...

Caracter de escape

Debido a que las cadenas en javascript se escriben entre comillas, si escribimos las mismas comillas entre comillas javascript, las va a interpretar mal

ejemplo

let text = "Nosotras somos las llamadas "Vikings" del Norte.";

La solución para evitar este problema es utilizar el carácter de escape de barra invertida .

La barra invertida ( \) el carácter de escape convierte los caracteres especiales en caracteres de cadena:

Codigo Resultado Descricion
\' ' comilla simples
\" " comillas dobles
\\ \ barra invertida

La secuencia \" inserta una comilla doble en una cadena:

ejemplo

let text = "Somos llamadas \"Vikings\" del norte."; 

La secuencia \'inserta una comilla simple en una cadena:

ejemplo

let text= 'It\'s alright.';

La secuencia \\inserta una barra invertida en una cadena:

ejemplo

let text = "el caracter \\ es llamado barra invertida.";

Otras seis secuencias de escape son válidas en JavaScript:

Codigo Resultado
\b Retroceso
\f Avance de formulario
\n Nueva línea
\r Retorno de carro
\t Tabulador Horizontal
\v Tabulador Vertical

Los 6 caracteres de escape anteriores se diseñaron originalmente para controlar máquinas de escribir, teletipos y máquinas de fax. No tienen ningún sentido en HTML.




Romper líneas de código largas

La mayoria de los programadores le gusta usar codigos cortos, pero por veces hay que usar lineas largas para programar

El mejor sitio para romper una linea de codigo larga es despues de un operador

ejemplo

document.getElementById("demo").innerHTML =
"Hola Dolly!"; 

Se puede romper dentro de una cadena de testo con una barra invertida

ejemplo

 document.getElementById("demo").innerHTML = "Hola \
 Dolly!";

NOTA no todos los navegadores suportan este metodo de barra invertida

Una linea de codigo no se puede romper con una barra invertida

ejemplo

 document.getElementById("demo").innerHTML = /
 "Hola Dolly!";



Cadenas de JavaScript como objetos

Normalmente una cadena son valores creados literalmente:

ejemplo

let x = "Pablo";

Pero se pueden crear tambien con la palabra new

ejemplo

let y = new String("Pablo");

  • No cree objetos de cadenas.
  • La palabra clave new complica el código y ralentiza la velocidad de ejecución.
  • Los objetos de cadena pueden producir resultados inesperados:

Al usar el operador (==) x e y son iguales

ejemplo

let x = "John";
let y = new String("John");

Al usar el operador (===) x e y no son iguales

ejemplo

let x = "John";
let y = new String("John");

Hay que tener en cuenta que los operadores (==) y (===) son distintos; el primero devuelve un true mientras que el segundo devuelve falso




Objectos en Javascript

Los objectos tambien son variables, pero estes pueden contener varios valores

el ejemplo seguiente, nos uestra la variable anterior car pero con muchos valores

const car = {type:"volwagen", model:"Polo", color:"azul"};

Los valores se escriben primero el nombre despues el valor ( nombre:valor )

NOTA: normalmente cuando se declara un objecto es muy comun usar la palabra claves const




Definicion de objecto

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Los espacios y los saltos de linea n son importantes

Una definicion de objecto puede abarcar varias lineas, como vamos ver nel seguiente ejemplo

const person = {
    firstName: "John",
    lastName: "Doe",
    age: 50,
    eyeColor: "blue"
  };

Propiedades del objeto

Propriedades del objecto son el conjunto del nombre seguido del valor nombre:valor

ejemplo de propriedades

Propriedad Valor de la propriedad
Nombre Pepe
apellido Gama
edad 32
color de los ojos azules



Acceso a las propiedades del objeto

Para aceder a la propriedad de un objecto, podemos usar dos formas:

objectName.propertyName

O de esta forma

objectName["propertyName"]

ejemplo

person.lastName;

Otra forma de aceder a la propriedad

person["lastName"];

Métodos de objetos

Los objetos también pueden tener métodos .

Los métodos son acciones que se pueden realizar sobre los objetos.

Un método es una función almacenada como una propiedad.

Propriedad Valor de la propriedad
Nombre Pepe
apellido Gama
edad 32
color de los ojos azules
nombre completo function() {devuelve este.nombre + " " + este.apellido;}



This

En JavaScript, la palabra clave this se refiere a un objeto .

Qué objeto depende de cómo está siendo invocado (usado o llamado) la palabra this.

La palabra clave this se refiere a diferentes objetos dependiendo de cómo se use:

  • this En un método de objeto,se refiere al objeto .
  • this Solo se refiere al objeto global .
  • this En una funcion se refiere al objeto global
  • this En una funcion en modo restrito es undefined
  • this En un evento se refiere al elemento que recibió el evento
  • this Métodos como call(), apply(), y bind()puede referirse a cualquier objeto

NOTA this no es una variable Es una palabra clave




Acceso a métodos de objetos

sintaxis: para aceder a un metodo de objecto

objectName.methodName()

Ejemplo

name = person.fullName();

Si accede a un método sin los paréntesis (), devolverá la definición de la función :

Ejemplo

name = person.fullName;



string, numeros y booleanos

No es aconsejado declarar strings, numeros o booleanos como objectos

Relentizan el codigo y la velocidad de ejecucion

si declaramos una variable con la palabra new se crea un objecto

Ejemplo

 x = new String();        // Declara x como un objeto String
 y = new Number();        // Declara y como un objeto numerico
 z = new Boolean();       // Declara z como un objeto booleano




Publicar un comentario

0 Comentarios