var producto5 = "monitor de 14 pulgadas";
console.log(producto5);
producto5 = "Monitor de 19 pulgadas"
console.log(producto5);
// JavaScript es un lenguje de tipo dinàmico , nose especifica tipo de dato
producto= 10;
console.log(producto);
// Inicializar un valor y asignarlo dèspues
var disponible;
disponible = false;
disponible = true;
// Inicializar multiples valores
var categoria = "Computadoras";
var marca = "Sony Vaio";
var calificacion = 5;
var categoria = "Computadoras",
marca = "Sony vaio",
calificacion = 5;
// Error de sintaxis
// var 01_;
// Formas correctas
var Practica;
var practicaWeb;
var practica_web;
var _Desarrollo;
// let.const es lo màs usual ,la diferencia entre var y let es el scope
let producto7 = 'Tablet';
producto8 = 'monitor';
producto9 = 30;
console.log(producto7);
let precio;
precio = 400;
console.log(precio);
// Valor de la constante no se puede reasignar
// Las constantes deben inicializarce con un valor
const producto0 = 23;
console.log(producto);
const producto12 = "Monitor de 24 pulgadas";
console.log(producto);
const producto2 = String('Televisor de 40 pulgadas');
console.log(producto2);
const producto3 = new String('Es un televisor de 40 pulgadas');
console.log(producto3);
const producto13 = 'Monitor de 24 \"pulgadas de la marca';
console.log(producto13);
const producto14 = 'Productos de tecnologia';
console.log(producto14.length);
console.log(producto14.indexOf("g"));
console.log(producto14.includes("desarrollo"));
// Concatenear strings
const producto20 = 'pàginas webs';
const valor = '40 dòlares';
console.log(producto20.concat(valor));
console.log(producto20 + 'En ofertas' + valor);
console.log("Desarrallo de" ,producto20 , "su precio" ,valor );
console.log("Desarrallo de " + producto20 , "su precio" + valor );
// Contar espacios en un string
const producto21 = ' pàginas webs ';
console.log(producto21.trimStart());
console.log(producto21.trimEnd());
console.log(producto21.trimStart().trimEnd());
console.log(producto21.trim());
const producto22 = 'Mètodos en javascript';
console.log(producto22.replace("javascript" , 'programaciòn'));
console.log(producto22.slice(0,5));
console.log(producto22.slice(7,20));
console.log(producto22.slice(4));
console.log(producto22.substring(15));
console.log(producto22.charAt(0));
const producto23= 'Desarrollo pàginas webs';
const texto = ' Programadores' . repeat(3);
console.log(producto23 , texto);
console.log(texto);
console.log(`${producto23} ${texto}`);
console.log(producto23.split(''));
const producto24= 'Aplicaciones de escritorio';
console.log(producto24.split('de'));
// Muy importante detalle para bases de datos
const producto25= 'Aplicaciones de ESCRITORIO';
console.log(producto24.toUpperCase());
console.log(producto24.toLowerCase(17));
// Crear un sting a partir de un number
const precio1 = 400;
console.log(precio1.toString());
const precio2 = 400;
console.log(precio2);
// Operaciones con nùmeros
const precio3 = 30.904545;
console.log(precio3);
const numero1 = 20;
const numero2 = 23;
let resultado;
resultado = Math.PI;
// Redondea el nùmero
resultado = Math.round(25.9);
// El nùmero hacia abajo
resultado = Math.floor(9.7);
// resultado = numero1 + numero2;
// resultado = numero1 - numero2;
// resultado = numero1 / numero2;
// resultado = numero1 % numero2;
// Ceil lo redondea hacia arriba
resultado = Math.ceil(-5.7);
// Raiz cuadrada
resultado = Math.sqrt(36);
// Valor absoluto
resultado = Math.abs(50);
// Potencia
resultado = Math.pow(4, 2);
resultado = Math.min(4, 2 ,1 ,7,3);
resultado = Math.max(4, 2 ,1 ,7,3);
resultado = Math.random() * 10;
console.log(resultado);
// Òrden de operaciòn de los nùmeros
let resultado2;
resultado2 = 30 + 5 * 4;
resultado2 = (30 + 5 - 4) * 4;
resultado2 = (50 + 5 - 1) * 4 / 100;
// 20% .2
resultado2 = (50 + 5 - 1) * .2;
console.log(resultado2);
// Incrementos , Decremetos
let puntaje1= 4;
puntaje1++;
console.log(puntaje1);
let puntaje2= 4;
puntaje2++;
console.log(puntaje2);
let puntaje4 = 4;
puntaje4 += 4;
console.log(puntaje4);
const numero7 = '10';
const numero8 = '14.445';
const numero10 = 'Uno';
// const numero2 = 23;
// const numero3 = 4;
// const numero4 = 8;
// Numer es una palabra reservada
// console.log(numero7.parseInt(numero7)); ,Is not a function
console.log(Number.parseInt(numero7));
console.log(Number.parseFloat(numero8));
console.log(Number.parseInt(numero10));
// Revisar si un numero es entenero
console.log(Number.isInteger(numero7));
// Operadores de comparaciòn
const numero13 = 23;
const numero11 = "40";
const numero12 = 34;
console.log(numero13 < numero11);
console.log(numero13 > numero11);
// Comparar 2 valores , extricto , diferente ,diferente extricto
console.log(numero13 != numero11);
console.log(numero13 !== numero11);
console.log(numero13 == numero11);
console.log(numero13 === numero11);
console.log(numero13 === parseInt (numero11));
let valorDefinir1 = '0';
let valorDefinir2 = null;
console.log(typeof(valorDefinir1));
console.log(typeof valorDefinir1 );
console.log(valorDefinir2);
// Boolean
boolean1 = true;
boolean2 = false;
console.log(boolean1)
// Crean objetos y no el valor primitivo
// const boolean3 = new boolean(true); is not defined
const boolean3 = new Boolean(true);
console.log(typeof boolean3)
console.log(boolean3 == true);
// Buenas practicas
const autenticado = true;
if(autenticado){
console.log("Si lo esta ");
}else{
console.log("No lo esta ");
}
console.log(autenticado ? "Si lo esta" : "No lo esta");
// --------- Creacion de objetos ----------
const nombrep = 'Monitor';
const disponiblep = true;
const preciop = 50;
// Object literal
const productop = {
nombre:'Monitor',
disponible: true,
precio23:50,
}
const productoq = {
nombreq:'Lenovo',
disponibleq: true,
precio23q:20,
descripcionq: 'color negra',
}
console.log(productoq.nombreq);
console.log(productoq.disponibleq);
console.log(productoq.descripcionq);
// Otra forma de acceder
console.log(productoq ['precio23q']);
console.log(productoq ['descripcionq']);
// Agregar o eliminar propiedades de un objeto
const productoz = {
nombrez:'Ferrari',
disponiblez: true,
precio23z:50,
descripcionz: 'color verde',
}
productoz.stock = 'Agotado';
console.log(productoz);
// Eliminar propiedades de un objeto
delete productoz.descripcionz;
console.log(productoz);
// Destructurin/destructuracion de objetos
const productof = {
nombref:'Ferrari',
disponiblef: true,
precio23f:50,
descripcionf: 'color verde',
}
// const nombref = productof.nombref;
// console.log(productof.descripcionf);
// console.log(nombref);
// Simplifica mucho el còdigo se trata de destructuring ademàsde extraer el valor ,crea la variable
const { nombref , descripcionf} = productof;
console.log( nombref , descripcionf);
// Objetos dentro de objetos
const productoj = {
nombrej:'Lamborguini',
disponiblej: false,
precio23j:15,
descripcionj: 'color naranja',
caracteristicasj :{
medidas :{
peso:'1kg',
medida: '1m',
},
origen :{
pais: 'China',
fabricante: 'Japon',
}
}
}
console.log(productoj);
// Seleccionamos unicamente peso de caracteristicasj
console.log(productoj.caracteristicasj.peso);
// Seleccionamos origen
console.log(productoj.origen);
// todos los objetos
console.log(productoj);
// Destructurin a objetos anidados
const productoh = {
nombreh:'Lamborguini',
disponibleh: false,
precio23h:15,
descripcionh: 'color naranja',
caracteristicash :{
medidash :{
pesoh:'1kg',
medidah: '1m',
},
origenh :{
paish: 'China',
fabricanteh: 'Japon',
}
}
}
// Para acceder hay que crear la variable , acceder a origenh
const {nombreh, caracteristicash,caracteristicash:{origenh,origenh :{fabricanteh}} } = productoh;
// const {nombreh, caracteristicash,caracteristicash:{origenh :{fabricanteh}} } = productoh;
// console.log(origenh);
console.log(fabricanteh);
// Problema con los objetos ,los objetos podemos reaccionar
const productos = {
nombres:'Ferrari',
disponibles: true,
precios:50,
descripcions: 'color verde',
color: 'Purpura',
}
productos.disponiblef = false;
console.log(productos);
delete productos.color;
console.log(productos);
// Congelar un objeto para no poder modificarlo
"use strict";
const productov = {
nombresv:'Ferrari',
disponiblesv: true,
preciosv:50,
descripcionsv: 'color verde',
colorv: 'Purpura',
}
// Un objeto decomporte como una constante no se pueda modificar USE STRICT realizar ciertas reglas
Object.freeze(productov);
// Modificar propiedades del objeto por false
productov.disponiblesv = false;
// Agregar un elemento
productov.asinaturav = 'fisica';
// console.log(objects);
console.log(productov);
console.log(Object.isFrozen(producto));
// Sellar un obejeto
"use strict";
const productoc= {
nombresc:'Lamborguini',
disponiblesc: true,
preciosc:340,
descripcionsc: 'color rojo',
colorc: 'Amarillo',
}
// Un objeto decomporte como una constante no se pueda modificar USE STRICT realizar ciertas reglas
Object.seal(productoc);
// Modificar propiedades del objeto por false aùn se puede
productoc.disponiblesc = false;
// No se puede agregar
// productov.asinaturav = 'fisica';
// No podemos eliminar
delete productoc.nombresc;
// console.log(objects);
console.log(productoc);
// Sellar un obejeto
//Seal te permite modificar las llaves existentes y freeze no te permite realizar nada
console.log(Object.isSealed(productoc));
// Unir 2 objetos
const elementos1= {
nombres1:'Toyota',
disponibles1: true,
precios1:340,
descripcions1: 'color blanco',
color1: 'rosa',
}
const medidas ={
peso:'1kg',
altura:'1metro',
}
console.log(elementos1);
console.log(medidas);
const resultados = Object.assign(elementos1,medidas);
console.log(resultados);
// Spread operator o rest operator , el resultado es el mismo
const resultadox = {...elementos1 , ...medidas};
console.log(resultadox);
// Funciones en objetos y acceder a sus valores
const nombre66 = 'Java';
const precio66 = 56;
const elemento66= {
nombre66:'Kia',
disponibles66: true,
precio66: 800,
// Template strin combiar variables con texto
mostrarInfo: function(){
// This busca la misma propiedad dentro del mismo objeto ,this se refiere al objeto en si mismo
// Palabra reservada this ,no se puede nombrar a una variable
console.log(`El producto: ${this.nombre66} un color de: ${this.precio66}`);
}
}
elemento66 .mostrarInfo();
// Object contructor
// Este es un object literal no es dinàmico
const ejemplo= {
nombreb:'Parlante',
disponibleb: true,
preciob: 50,
}
// Object contructor es dinamico
function Producto(nombreb ,preciob){
this.nombreb = nombreb;
this.preciob = preciob;
this.disponibleb = true;
}
const ejemplo1 = new Producto('Monitor de 34 pgl' , 100);
console.log(ejemplo1);
const ejemplo2 = new Producto('Teclado' , 25);
console.log(ejemplo2);
// Object .keys nos retorna las llaves de un arreglo .values,entities mètodos
// Keys en una abse de datos para saber si tiene informaciòn izquierda
// entries nos retorna todo en pares
const ejemplo3= {
// Values nos retorna los valores la derecha
nombret:'Mause logitech',
disponiblet: true,
preciot: 250,
}
console.log(Object.keys(ejemplo3));
console.log(Object.values(ejemplo3));
console.log(Object.entries(ejemplo3));