viernes, 8 de abril de 2022

JavaScript 2 ( Operadores & Tipos de datos )


Los operadores permiten manipular el valor delas variables, realizar operaciones matemáticas con sus valores y comparar variables entre otras cosas.De esta forma, los operadores permiten a los programas realizar cálculos complejos y tomar decisiones lógicas en función de comparaciones y otros tipos de condiciones.

DOCUMENTACIÓN NO OFICIAL PERO OFICIAL DE JS
 https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Expressions_and_Operators

Operadores de asignación
Operadores de comparación
Operadores aritméticos
Operadores bit a bit
Operadores lógicos
Operadores de cadena
Operador condicional (ternario)
Operador coma
Operadores unarios
Operadores relacionales
 
/*
 var numero1 = 5
 var numero2 = 8
 var operacion = numero1 + numero2
 alert("La suma de los dos numeros es: "+operacion)
 
 var numero1 = 5
 var numero2 = 8
 var operacion = numero1 - numero2
 alert("La suma de los dos numeros es: "+operacion)
 
 var numero1 = 5
 var numero2 = 8
 var operacion = numero1 / numero2
 alert("La suma de los dos numeros es: "+operacion)
 
 var numero1 = 5
 var numero2 = 8
 var operacion = numero1 % numero2     //Muestra el resto
 alert("La suma de los dos numeros es: "+operacion)
 */


TIPOS DE DATOS 

Figura 1. Tipos de datos en JavaScript

Tipo primitive

STRINGS

  //La manera formal de crear un string sería
 let saludo = new String("Hola Mundo");  //Pero no es necesario.
let cadenaDeTexto_1 = "Hola BienVenido";
let cadenaDeTexto_2 = 'A CÓDIGO GEEK'
 console.log(cadenaDeTexto_1 , cadenaDeTexto_2);

Algunos métodos de cadenas de texto:

charAt(índice): Devuelve el character que hay en la posición indicada como índice

indexOf(character,desde): Devuelve la posición de la primera aparición de un character indicado por parámetro en un string. Si no encuentra el character devuelve -1, tiene un Segundo parámetro opcional, sirve para indicar a partir de que posición queremos inicar la búsqueda.

lastIndexOf(caracter, desde): Como el anterior, pero devuelve la última posición de aparición del caracter indiciado.

Replace(substring_a_buscar, nuevoStr): reemplaza porciones del texto por otro texto. No se efectúa el reemplazo si que se devuelve el resultado de hacer el reemplazo.

Ejemplos:

 //NUMERO DE CARACTERES DE UNA CADENA
 console.log(
    cadenaDeTexto_1.length,
    cadenaDeTexto_2.length
 );
 //FORZAR A MAYUSCULAS O MINÚSCULAS
 console.log(cadenaDeTexto_1.toUpperCase(), cadenaDeTexto_2.toLocaleLowerCase())
 
 //ENCONTRAR SUBCADENAS DENTRO DE UNA CADENA
 let cadenaDeTexto_3 ="Esta es una cadena de texto de ejemplo, luego usando métodos vamos a buscar algún texto dentro de este mismo texto";
  //busquemos la palabra dentro
  console.log(unacadena.includes("dentro"));  //ME DEVIELVE TRUE POR QUE dentro está en unaCadena
 
//SEPARAR PALABRAS DE MI CADENA indicando donde separar
console.log(cadenaDeTexto_3.split("-")); 
 
//CONCATENACIÓN
 let marca ="BMW";
 let modelo ="SERIE 7";
 let coche;
 console.log(
     "La marca es: "+marca+" El modelo es: "+modelo
 )

Desde 2015 con la llegada de ES6 podemos hacer uso de las Template Strings. Las plantillas literales son cadenas literales que habilitan el uso de expresiones incrutadas, con ellas podemos usar cadenas de caracteres de más de una línea y funcionalidades de interpolación.

Se delimitan  con comillas invertidas   ` `  y pueden contener marcadores, identificados por el signo de dollar $ y entre llaves; (${espresión})

Ejemplo Template Strings:

  let coche2 = `lA MARCA DE MI COCHE ES ${marca} Y EL MODELO ES ${modelo}`
  console.log(
    coche2                //esto es muy util para generar código html dinámicamente
)


NÚMEROS

/*
Number es un objeto primitivo envolvente que permite representar y manipular valores numéricos cómo 37 o -9.25.
 El constructor Number contiene constantes y métodos para trabajar con números. Valores de otro tipo pueden ser
  convertidos a números usando la función Number()
*/
 
 let x = 4;
 let ynew Number(2);
 let z = 9.25;
 let j = "4.8";
 
 console.log(
     x,
     y
     z.toFixed(1)  //redondea los decimales a 1
 )
   //MÉTODO PARSEINT devuelve la parte entera
   console.log(parseInt(z));
 
 //MÉTODO PARSEFLOAT devuelve la parte decimal pero este inprime tanto la parte entera como la decimal
   console.log(parseFloat(z));
 
 //DE CADENA DE TEXTO A NÚMERO
 console.log(typeof j);  //EL MÉTODO typeof me indica que tipo de dato es ene ste caso d es string
 //Para poder trabajar con el número j que me lo han pasado como cadena debo transformarlo a número esto lo consigo con PARSEINT
 //si no hago esto no me sumará sino que me concatenará el numero con la cadena de texto.
 console.log(z + parseInt(j));  //Así si me devuelve la suma  y se hay decimales el parseint solo la parte entera 
 
 console.log(c parseFloat(d));

::::::::::::::::::::::::::::BOOLEANOS::::::::::::::::::::::::::::::::

 let verdadero = true;
 let falso = false;
 console.log(typeof verdaderotypeof falso);
 //https://developer.mozilla.org/es/docs/Glossary/Truthy
 

:::::::::::::::::::::::::Null Undefined NaN:::::::::::::::::

TANTO NULL COMO UNDEFINED REPRESENTAN DATOS QUE NO TIENEN VALOR, LA DIFERENCIA ES QUE UNDEFINED REPRESENTA UN VALOR QUE NO HA SIDO INICIALIZADO, MIENTRAS QUE NULL SI ESTÁ INICIALIZADO PERO A UN VALOR NULO.

 
 
 let indefinida;  //ESTA VARIABLE AHORA ES UNDEFINED
 console.log(indefinida);
 
 //Ahora vamos a inicializar una variable con el valor nulo
 let nulo = null;
 console.log(nulo);
 
 //NaN (Not a Number) es útil, por ejemplo cuando queremos hacer operaciones aritméticas entre
 //distintos tipos de datos que no son numéricos.
 
 let noEsUnNumero = "Hola" * 3.7;
 console.log(noEsUnNumero);  //Nos indica que no se puede hacer porque no es un número



No hay comentarios:

Publicar un comentario