{"id":186,"date":"2023-04-16T11:48:08","date_gmt":"2023-04-16T14:48:08","guid":{"rendered":"https:\/\/danielsegovia.com\/plataforma\/?p=186"},"modified":"2023-06-23T23:21:47","modified_gmt":"2023-06-24T02:21:47","slug":"05-variables-y-tipos-de-datos","status":"publish","type":"post","link":"https:\/\/danielsegovia.com\/plataforma\/05-variables-y-tipos-de-datos\/","title":{"rendered":"05 &#8211; Variables y tipos de datos"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">LLegamos a la semana 3 \u00bfte lo imaginabas?<br>Ya no demos m\u00e1s vueltas, es hora de que empecemos a tirar c\u00f3digo :-), vamos a empezar a tirar l\u00edneas de c\u00f3digo para obtener fines concretos<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comencemos con las variables, una variable es un espacio de almacenamiento en el que se puede guardar un valor que se utilizar\u00e1 m\u00e1s adelante en el c\u00f3digo. Si lo comparamos con una caja, podr\u00edamos decir que una variable es como una caja donde podemos almacenar diferentes objetos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables tienen un nombre que se utiliza para hacer referencia a ellas en el c\u00f3digo. Este nombre es lo que se conoce como identificador de la variable y se utiliza para acceder al valor que contiene. Al igual que en la vida real podemos tener un mont\u00f3n de cajas para almacenar diferentes cosas y dentro de un programa podemos tener m\u00faltiples variables con diferentes nombres y valores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, al igual que podemos cambiar el contenido de una caja (con algunas excepciones que veremos m\u00e1s adelante), tambi\u00e9n podemos cambiar el valor de una variable en el c\u00f3digo. Podemos asignarle un nuevo valor en cualquier momento y el valor anterior se sobrescribir\u00e1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables son muy importantes en la programaci\u00f3n, ya que permiten a los programadores almacenar y manipular datos de manera eficiente. Sin ellas, ser\u00eda dif\u00edcil escribir programas complejos que requieren el uso de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfComenzamos a escribir c\u00f3digo?<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Node.Js<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos escribir muchas l\u00edneas de c\u00f3digo en JavaScript para realizar una tarea pero de alguna forma esas l\u00edneas deben ser ejecutadas para cumplir dicha funci\u00f3n, entonces \u00bfc\u00f3mo esas l\u00edneas ser\u00e1n ejecutadas para la realizaci\u00f3n de la tarea programada?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para ejecutar JavaScript podemos hacerlo de 2 formas, a trav\u00e9s de un navegador que ya trae incorporado el motor para ejecutar JavaScript o instalar Node.Js en nuestra computadora para poder ejecutar c\u00f3digo JavaScript a trav\u00e9s de la consola.<br>En nuestro caso debemos instalar Node.JS ya que estamos haciendo una carrera de backend y as\u00ed es como se ejecutan las aplicaciones de backend en los servidores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ingresa a <a rel=\"noreferrer noopener\" href=\"https:\/\/nodejs.org\/\" target=\"_blank\">https:\/\/nodejs.org\/<\/a> e instala la versi\u00f3n LTS (Long Term Support) para tu sistema operativo, aqu\u00ed te dejo unos tutoriales de instalaciones para los sistemas operativos m\u00e1s comunes<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=czFj5zoI5uc\" target=\"_blank\" rel=\"noreferrer noopener\">Windows<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=HiZfrViARRc\" target=\"_blank\" rel=\"noreferrer noopener\">Ubuntu<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=6VNkLyQeu3Y\" target=\"_blank\" rel=\"noreferrer noopener\">Mac OS<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ejecuta <strong>node -v<\/strong> para verificar la correcta instalaci\u00f3n<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-01-11-06-17.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-01-11-06-17.png\" alt=\"\" class=\"wp-image-344\" width=\"718\" height=\"207\" srcset=\"https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-01-11-06-17.png 976w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-01-11-06-17-300x86.png 300w, https:\/\/danielsegovia.com\/plataforma\/wp-content\/uploads\/2023\/05\/Captura-desde-2023-05-01-11-06-17-768x221.png 768w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por el momento, para ejecutar JavaScript durante el m\u00f3dulo 1 nos alcanza con est\u00e1 instalaci\u00f3n, m\u00e1s adelante veremos m\u00e1s detalles sobre Node.Js<\/p>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Variables<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Como ya hemos visto una variable es un lugar donde podemos almacenar un valor dentro de nuestro programa, es importante mencionar que es un almacenamiento vol\u00e1til, es decir, que al apagar el programa o reiniciarlo el valor se pierde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las variables en JavaScript deben definirse de la siguiente manera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Palabra reservada var, let o const + nombre de variable<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con esto es sufuciente para definir una variable pero en la mayor\u00eda de los casos al crear la variable se le asigna un valor inmediatamente, por lo que la \u00abdefinici\u00f3n\u00bb quedar\u00eda as\u00ed: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Palabra reservada var, let o const + nombre de variable + = (signo de igual) + valor que quiero almacenar<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Llevado a JavaScript finalmente queda as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">var mensaje = \"hola\"\nlet edad = 18\nconst color = \"rojo\" <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00e1sicamente estoy asignando a cada una de las variable un valor, por ejemplo a mensaje le asigno hola<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entonces en mi aplicaci\u00f3n puedo necesitar almacenar un valor y luego utilizarlo mucho m\u00e1s adelante<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let edad = 18\n\/\/ hago algo\n\/\/ hago otra cosa\n\/\/ pregunto algo\n\/\/ cambio de direcci\u00f3n en el flujo\n\/\/ etc\n\/\/ etc\nconsole.log(edad) \/* utilizo la variable edad  para mostrarla *\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, \u00bfPor qu\u00e9 var, let o const? o mejor dicho \u00bfcu\u00e1ndo var, let o const? entremos un poco m\u00e1s en detalle<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cada una tiene un scope (alcance) donde vivir\u00e1, es decir, donde la estar\u00e1 disponible para su uso<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>var<\/strong>: antes de la introducci\u00f3n de let y const, var era la \u00fanica forma de declarar una variable en JavaScript. Las variables declaradas con var tienen un alcance de funci\u00f3n o global y pueden ser reasignadas en cualquier momento. El problema con var es que su alcance puede ser impredecible en algunas situaciones, lo que puede provocar errores dif\u00edciles de detectar.<\/li>\n\n\n\n<li><strong>let<\/strong>: let es una forma m\u00e1s moderna de declarar variables en JavaScript y se introdujo en ECMAScript 6. Las variables declaradas con let tienen un alcance de bloque y se pueden reasignar. El alcance de bloque significa que la variable solo es accesible dentro del bloque en el que se declar\u00f3, como un if o un bucle for. Esto puede ayudar a evitar errores y hacer que el c\u00f3digo sea m\u00e1s f\u00e1cil de leer y mantener.<\/li>\n\n\n\n<li><strong>const<\/strong>: const es otra forma de declarar variables en JavaScript y tambi\u00e9n se introdujo en ECMAScript 6. A diferencia de var y let, las variables declaradas con const no se pueden reasignar despu\u00e9s de la inicializaci\u00f3n. El alcance de const tambi\u00e9n es de bloque, lo que significa que solo se puede acceder a la variable dentro del bloque en el que se declar\u00f3. Las variables const son \u00fatiles cuando se desea asegurarse de que un valor no cambie durante la ejecuci\u00f3n del programa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed puedes encontrar m\u00e1s detalles relacionados con el scope: <a rel=\"noreferrer noopener\" href=\"https:\/\/yeisondaza.com\/entendiendo-scopes-de-variables-en-javascript\" target=\"_blank\">https:\/\/yeisondaza.com\/entendiendo-scopes-de-variables-en-javascript<\/a><\/p>\n\n\n\n<div style=\"height:58px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tipos de datos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los tipos de datos son la base de cualquier lenguaje de programaci\u00f3n y JavaScript no es la excepci\u00f3n. En JavaScript, los tipos de datos se dividen en dos categor\u00edas: tipos de datos primitivos y tipos de datos no primitivos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los tipos de datos primitivos son aquellos que representan valores simples y b\u00e1sicos, como n\u00fameros, cadenas de texto y valores booleanos. Los tipos de datos no primitivos, por otro lado, son aquellos que representan valores complejos y est\u00e1n compuestos por varios valores primitivos, como objetos y matrices.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tipos de datos primitivos:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>number<\/code>: representa n\u00fameros, tanto enteros como decimales.<\/li>\n\n\n\n<li><code>string<\/code>: representa cadenas de texto.<\/li>\n\n\n\n<li><code>boolean<\/code>: representa valores booleanos <code>true<\/code> (verdadero) o <code>false<\/code> (falso).<\/li>\n\n\n\n<li><code>null<\/code>: representa la ausencia de un valor.<\/li>\n\n\n\n<li><code>undefined<\/code>: representa el valor indefinido.<\/li>\n\n\n\n<li><code>Symbol<\/code>: representa un valor \u00fanico e inmutable que se puede utilizar como identificador de propiedad en objetos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Tipos de datos no primitivos:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>object<\/code>: representa una estructura de datos compleja compuesta por pares clave-valor.<\/li>\n\n\n\n<li><code>array<\/code>: representa una lista de elementos ordenados.<\/li>\n\n\n\n<li><code>function<\/code>: representa un bloque de c\u00f3digo reutilizable que realiza una tarea espec\u00edfica.<\/li>\n\n\n\n<li><code>date<\/code>: representa una fecha y hora espec\u00edficas.<\/li>\n\n\n\n<li><code>RegExp<\/code>: representa una <a href=\"https:\/\/developer.mozilla.org\/es\/docs\/Web\/JavaScript\/Guide\/Regular_expressions\" target=\"_blank\" rel=\"noreferrer noopener\">expresi\u00f3n regular<\/a>, que se utiliza para buscar patrones en cadenas de texto.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed te he hecho un resumen de todos los que hay, solamente nos centraremos en los primitivos, a medida que vayamos avanzando podremos introducirnos en los tipo de datos no primitivos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">\/\/observa que almaceno el hola mundo entre comillas, eso convierte a mensaje en una variable tipo string\nlet mensaje = \"hola mundo\"\nconsole.log(mensaje)\nconsole.log(typeof(mensaje))\n\nlet edad = 21\nconsole.log(edad)\nconsole.log(typeof(edad))\n\nlet verdadero = true\nconsole.log(verdadero)\nconsole.log(typeof(verdadero))\n\nlet nada;\nconsole.log(typeof(nada))\n\nlet sym = Symbol('algo')\nconsole.log(typeof(sym))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.youtube.com\/@LaCocinadelCodigo\" target=\"_blank\" rel=\"noreferrer noopener\">@La cocina del c\u00f3digo<\/a> nos deja una excelente explicaci\u00f3n de los datos primitivos, no te pierdas su video.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"2. TIPOS DE DATOS PRIMITIVOS en JAVASCRIPT | JS en ESPA\u00d1OL\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/cC65D2q5f8I?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En nuestra pr\u00f3xima clase veremos m\u00e1s conceptos de variables y tipos de datos, nos vemos pronto!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reviv\u00ed la clase en vivo<\/h2>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Curso Node.Js - Clase 05 - Variables\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/mMgUMBsnIb0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>LLegamos a la semana 3 \u00bfte lo imaginabas?Ya no demos m\u00e1s vueltas, es hora de que empecemos a tirar c\u00f3digo :-), vamos a empezar a tirar l\u00edneas de c\u00f3digo para obtener fines concretos Comencemos con las variables, una variable es un espacio de almacenamiento en el que se puede guardar un valor que se utilizar\u00e1 &#8230; <a title=\"05 &#8211; Variables y tipos de datos\" class=\"read-more\" href=\"https:\/\/danielsegovia.com\/plataforma\/05-variables-y-tipos-de-datos\/\" aria-label=\"Leer m\u00e1s sobre 05 &#8211; Variables y tipos de datos\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[8,10,16,15,14],"class_list":["post-186","post","type-post","status-publish","format-standard","hentry","category-curso-de-node-js","category-logica-de-programacion-con-javascript","tag-javascript","tag-nodejs","tag-tipos-de-datos","tag-typeof","tag-variables"],"_links":{"self":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/comments?post=186"}],"version-history":[{"count":21,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":576,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/posts\/186\/revisions\/576"}],"wp:attachment":[{"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/media?parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/categories?post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielsegovia.com\/plataforma\/wp-json\/wp\/v2\/tags?post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}