{"id":22571,"date":"2025-04-08T13:00:00","date_gmt":"2025-04-08T11:00:00","guid":{"rendered":"https:\/\/carontestudio.com\/blog\/?p=22571"},"modified":"2025-05-19T15:33:46","modified_gmt":"2025-05-19T13:33:46","slug":"reactjs-conceptos-de-javascript","status":"publish","type":"post","link":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/","title":{"rendered":"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React"},"content":{"rendered":"\n<p>Para empezar con ReactJS es fundamental tener una base s\u00f3lida de JavaScript, as\u00ed que antes de embarcarte en dicha aventura, te recomendamos que hayas dedicado tiempo a tener problemas desarrollando proyectos con JavaScript sin ayuda de otras librer\u00edas.<\/p>\n\n\n\n<p>En este post no vas a aprender JavaScript, si no repasaremos algunos de los <strong>conceptos clave de JavaScript para React<\/strong> que debes dominar antes de comenzar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Import y Export<\/h2>\n\n\n\n<p>React divide el c\u00f3digo en m\u00faltiples archivos y m\u00f3dulos, lo que hace indispensable conocer c\u00f3mo importar y exportar funciones, objetos o componentes. Y se puede exportar las funciones y las variables por nombre o por defecto, donde por nombre permite exportar todas las que quieras por m\u00f3dulo, mientras por defecto solo una vez.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>\/\/ Exports con nombre<\/strong>\nexport const planeta = \"Marte\";\nexport function calcularGravedad(masa, radio) {\n    return (6.674 * Math.pow(10, -11) * masa) \/ Math.pow(radio, 2);\n}\n\n<strong>\/\/ Imports con nombre<\/strong>\nimport { planeta, calcularGravedad } from \".\/espacio\";<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>\/\/ Exports por defecto<\/strong>\nexport default function velocidadEscape(masa, radio) {\n    return Math.sqrt((2 * 6.674 * Math.pow(10, -11) * masa) \/ radio);\n}\n\n<strong>\/\/ Imports por defecto<\/strong>\nimport velocidadEscape from \".\/espacio\";<\/code><\/pre>\n\n\n\n<p>Por lo general, al iniciar un proyecto con React podremos usar m\u00f3dulos directamente, pero en JavaScript tendremos que importar el script como <code>type=\"module<\/code>\u00bb en el HTML. De hecho, React en el archivo <code>index.html<\/code> lo importa as\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script type=\"module\" src=\"\/src\/main.jsx\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9todos de Arrays<\/h2>\n\n\n\n<p>Los <em>arrays <\/em>en <em>React <\/em>son fundamentales, ya que se utilizan para renderizar listas de elementos de manera din\u00e1mica. Estos son los m\u00e9todos que m\u00e1s se van a usar en React. Recalcar el uso de <code>map <\/code>en vez de <code>forEach<\/code>, porque, <code>map<\/code> no muta el <em>array<\/em>, sino que devuelve un resultado. Los siguientes m\u00e9todos no mutan el <em>array <\/em>principal:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>map<\/code><\/strong>: Transforma cada elemento del <em>array <\/em>y devuelve un nuevo <em>array<\/em>.<\/li>\n\n\n\n<li><strong><code>filter<\/code><\/strong>: Filtra los elementos seg\u00fan una condici\u00f3n.<\/li>\n\n\n\n<li><strong><code>reduce<\/code><\/strong>: Reduce un array a un solo valor acumulado.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>const planetas = &#91;\"Mercurio\", \"Venus\", \"Tierra\", \"Marte\", \"J\u00fapiter\"];\n\nconst planetasMayus = planetas.map(planeta =&gt; planeta.toUpperCase()); \/\/ &#91;\"MERCURIO\", \"VENUS\", \"TIERRA\", \"MARTE\", \"J\u00daPITER\"]\n\nconst planetasConM = planetas.filter(planeta =&gt; planeta.startsWith(\"M\")); \/\/ &#91;\"Mercurio\", \"Marte\"]\n\nconst longitudTotal = planetas.reduce((total, planeta) =&gt; total + planeta.length, 0); \/\/ Suma total de caracteres<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">El Operador <em>Spread <\/em>(<code>...<\/code>)<\/h2>\n\n\n\n<p>El operador <em>spread <\/em>permite copiar o combinar <em>arrays <\/em>y objetos de manera sencilla.<\/p>\n\n\n\n<p>Ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const navesExploradoras = &#91;\"X-Wing\", \"TIE Fighter\"];\nconst nuevasNaves = &#91;\"Halc\u00f3n Milenario\"];\n<\/code><\/pre>\n\n\n\n<p>podr\u00edamos pensar en hacerlo as\u00ed para juntar dos <em>arrays<\/em>, pero nos dar\u00eda el siguiente resultado:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const flotaEspacial = &#91;navesExploradoras, nuevasNaves];\n\/\/ Esto genera: &#91;&#91;\"X-Wing\", \"TIE Fighter\"], &#91;\"Halc\u00f3n Milenario\"]] (un array dentro de otro)<\/code><\/pre>\n\n\n\n<p>Usando el operador <em>spread,<\/em> en cambio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const flotaUnificada = &#91;...navesExploradoras, ...nuevasNaves];\n\/\/ Esto genera: &#91;\"X-Wing\", \"TIE Fighter\", \"Halc\u00f3n Milenario\"] (fusiona los arrays en uno solo)<\/code><\/pre>\n\n\n\n<p>tambi\u00e9n funciona con objetos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const piloto = {\n nombre: \"Luke Skywalker\",\n nave: \"X-Wing\"\n};\n\nconst pilotoConRango = {\n rango: \"Comandante\",\n ...piloto\n};\n\/\/ Resultado: { rango: \"Comandante\", nombre: \"Luke Skywalker\", nave: \"X-Wing\" }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Desestructuraci\u00f3n de Objetos y <em>Arrays<\/em><\/h2>\n\n\n\n<p>La desestructuraci\u00f3n hace que el c\u00f3digo sea m\u00e1s limpio y f\u00e1cil de leer, especialmente en los <em>props <\/em>de React. No es m\u00e1s que extraer los elementos o los paros de los objetos y <em>arrays<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\/\/ Con arrays\nconst galaxias = &#91;\"V\u00eda L\u00e1ctea\", \"Andr\u00f3meda\"];\n\nconst &#91;primeraGalaxia, segundaGalaxia] = galaxias;\nconsole.log(`Las galaxias son ${primeraGalaxia} y ${segundaGalaxia}.`);\n\n\/\/ Con objetos\nconst satelite = { nombre: \"Luna\", planeta: \"Tierra\" };\n\nconst { nombre, planeta } = satelite;\nconsole.log(`${nombre} orbita alrededor de ${planeta}`);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Pasar Funciones como Propiedades<\/h2>\n\n\n\n<p>En React, los componentes pueden recibir funciones como propiedades (<em>props<\/em>) para manejar eventos o actualizar el estado de los componentes. Esto permite que un componente hijo pueda ejecutar funciones definidas en su componente padre, lo que facilita la comunicaci\u00f3n entre ellos. Es especialmente \u00fatil para manejar eventos, actualizar el estado o modificar datos en la aplicaci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function Boton({ lanzarCohete }) {\n    return &lt;button onClick={lanzarCohete}&gt;Despegue&lt;\/button&gt;;\n}\n\nfunction Mision() {\n    const iniciarLanzamiento = () =&gt; alert(\"\u00a1Cohete lanzado al espacio!\");\n    return &lt;Boton lanzarCohete={iniciarLanzamiento} \/&gt;;\n}<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"360\" src=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React-2.jpg\" alt=\"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React\" class=\"wp-image-22669\" srcset=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React-2.jpg 640w, https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React-2-300x169.jpg 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Funciones <em>Arrow <\/em>(o funciones flecha)<\/h2>\n\n\n\n<p>Las funciones <em>arrow <\/em>(<code>=&gt;<\/code>) permiten escribir funciones m\u00e1s concisas y son geniales para <em>callbacks <\/em>y m\u00e9todos de <em>array <\/em>como <code>map<\/code>, <code>filter<\/code> y <code>reduce<\/code>, ya que simplifican la sintaxis y hacen el c\u00f3digo m\u00e1s ordenado y f\u00e1cil de leer.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const orbitar = planeta =&gt; `El planeta ${planeta} est\u00e1 en \u00f3rbita.`;\nconsole.log(orbitar(\"Saturno\"));\n\nconst calcularDistancia = (velocidad, tiempo) =&gt; velocidad * tiempo;\nconsole.log(calcularDistancia(30000, 5)); \/\/ 150000 km<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Template Literals<\/h2>\n\n\n\n<p>Los <em>template literal<\/em>s permiten escribir cadenas de texto de manera m\u00e1s c\u00f3moda, integrando las variables de JavaScript dentro, sin tener que estar partiendo la cadena y uni\u00e9ndola  con \u00ab+\u00bb. Se hacen utilizando los <em>backtick <\/em><code>` `<\/code>, en vez de las comillas simples <code>' '<\/code> o dobles \u00bb \u00ab. Y para insertar el JavaScript en l\u00ednea <code>${miVariable}<\/code>. Adem\u00e1s, hacen una interpretaci\u00f3n literal, de espacios y saltos de l\u00ednea.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const estrella = \"Sol\";\nconsole.log(`Nuestra estrella principal es el ${estrella}.`);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Operador Ternario<\/h2>\n\n\n\n<p>El operador ternario no es otra cosa que un condicional (el <code>if<\/code>) de toda la vida que va a permitir condicionar el renderizado de JSX en React, pero que ser\u00eda algo as\u00ed como condicionar la salida de las cadenas de texto, vamos con un ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const esHabitable = true;\nconst mensaje = esHabitable ? \"Este planeta es habitable.\" : \"Este planeta no es habitable.\";\nconsole.log(mensaje);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Promesas y <code>async\/await<\/code><\/h2>\n\n\n\n<p>React maneja datos as\u00edncronos (por ejemplo, llamadas a <em>API<\/em>), por lo que recordar sobre todo <code>fetch<\/code> y <code>async\/await<\/code> es clave.<\/p>\n\n\n\n<p><strong><code>Async\/await<\/code><\/strong> simplifica el uso de promesas, le a\u00f1ade una capa mucho m\u00e1s c\u00f3moda en comparaci\u00f3n a hacerlo con <em>callbacks <\/em>o con las promesas (<em>.then<\/em>) en s\u00ed, lo que se llama <em>syntactic sugar<\/em>. <\/p>\n\n\n\n<p>Su uso: <code>async <\/code>declara funciones que devuelven promesas, y <code>await<\/code> pausa la ejecuci\u00f3n hasta resolverlas. Los posibles se gestionan con <code>try\/catch<\/code>. Conseguimos as\u00ed un c\u00f3digo m\u00e1s legible y control estructurado, adem\u00e1s que es mucho m\u00e1s f\u00e1cil identificar funciones as\u00edncronas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>async <\/strong>function obtenerDatosEspaciales() {\n  const respuesta = <strong>await<\/strong> <strong>fetch<\/strong>(\"\/api\/planetas\");\n  const datos = await respuesta.json();\n  console.log(datos);\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Dominar estos <strong>conceptos de JavaScript para React<\/strong> te prepara para entender la l\u00f3gica detr\u00e1s del <em>JSX <\/em>y los componentes, escribir c\u00f3digo m\u00e1s limpio y mantenible y evitar errores comunes al manejar <em>props <\/em>y estados<\/p>\n\n\n\n<p>Si adem\u00e1s tienes claros conceptos como el manejo del <em><a href=\"https:\/\/carontestudio.com\/blog\/agregar-estilo-con-javascript\/#Manipulacion_del_DOM_con_JavaScript\">DOM<\/a> <\/em> y la l\u00f3gica de programaci\u00f3n, recordando estos conceptos, ya tienes gran parte del camino recorrido para empezar construir cosas con <em>React<\/em> y llevar tu <a href=\"https:\/\/carontestudio.com\/web\/\" target=\"_blank\" rel=\"noreferrer noopener\">desarrollo web<\/a> al siguiente nivel.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes de comenzar con ReactJS, es esencial tener una base s\u00f3lida en JavaScript. En este art\u00edculo repasamos conceptos clave como import\/export, m\u00e9todos de arrays, el operador spread, desestructuraci\u00f3n, funciones arrow, template literals, operador ternario y async\/await, que te ayudar\u00e1n a escribir un c\u00f3digo m\u00e1s limpio y eficiente en React.<\/p>\n","protected":false},"author":18,"featured_media":22667,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[50],"tags":[],"class_list":["post-22571","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion-web"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Conceptos clave de JavaScript para empezar con React<\/title>\n<meta name=\"description\" content=\"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Conceptos clave de JavaScript para empezar con React\" \/>\n<meta property=\"og:description\" content=\"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de maketing | Caronte\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/carontewebstudio\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-08T11:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-19T13:33:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1250\" \/>\n\t<meta property=\"og:image:height\" content=\"737\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David Boo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Boo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/\"},\"author\":{\"name\":\"David Boo\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/person\\\/b3de34e35d8ffffb7e620d1166ea5f52\"},\"headline\":\"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React\",\"datePublished\":\"2025-04-08T11:00:00+00:00\",\"dateModified\":\"2025-05-19T13:33:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/\"},\"wordCount\":754,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg\",\"articleSection\":[\"Programaci\u00f3n\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/\",\"name\":\"Conceptos clave de JavaScript para empezar con React\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg\",\"datePublished\":\"2025-04-08T11:00:00+00:00\",\"dateModified\":\"2025-05-19T13:33:46+00:00\",\"description\":\"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#primaryimage\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg\",\"contentUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg\",\"width\":1250,\"height\":737,\"caption\":\"ReactJS Conceptos de JavaScript a repasar antes de empezar con React\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/reactjs-conceptos-de-javascript\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\",\"name\":\"Blog de marketing | Caronte\",\"description\":\"En nuestro blog encontrar\u00e1s art\u00edculos semanales sobre SEO, marketing online, programaci\u00f3n web y mucho m\u00e1s.\",\"publisher\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#organization\",\"name\":\"Caronte - Agencia de marketing\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/caronte-agencia-de-marketing-logo.png\",\"contentUrl\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/caronte-agencia-de-marketing-logo.png\",\"width\":1090,\"height\":155,\"caption\":\"Caronte - Agencia de marketing\"},\"image\":{\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/carontewebstudio\\\/\",\"https:\\\/\\\/www.instagram.com\\\/caronte_studio\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@carontewebstudio\",\"https:\\\/\\\/www.youtube.com\\\/@carontewebstudio\",\"https:\\\/\\\/es.linkedin.com\\\/company\\\/carontewebstudio\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/#\\\/schema\\\/person\\\/b3de34e35d8ffffb7e620d1166ea5f52\",\"name\":\"David Boo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g\",\"caption\":\"David Boo\"},\"sameAs\":[\"http:\\\/\\\/carontestudio.com\"],\"url\":\"https:\\\/\\\/carontestudio.com\\\/blog\\\/author\\\/david-boo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Conceptos clave de JavaScript para empezar con React","description":"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/","og_locale":"es_ES","og_type":"article","og_title":"Conceptos clave de JavaScript para empezar con React","og_description":"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.","og_url":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/","og_site_name":"Blog de maketing | Caronte","article_publisher":"https:\/\/www.facebook.com\/carontewebstudio\/","article_published_time":"2025-04-08T11:00:00+00:00","article_modified_time":"2025-05-19T13:33:46+00:00","og_image":[{"width":1250,"height":737,"url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg","type":"image\/jpeg"}],"author":"David Boo","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"David Boo","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#article","isPartOf":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/"},"author":{"name":"David Boo","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/person\/b3de34e35d8ffffb7e620d1166ea5f52"},"headline":"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React","datePublished":"2025-04-08T11:00:00+00:00","dateModified":"2025-05-19T13:33:46+00:00","mainEntityOfPage":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/"},"wordCount":754,"commentCount":0,"publisher":{"@id":"https:\/\/carontestudio.com\/blog\/#organization"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg","articleSection":["Programaci\u00f3n"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/","url":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/","name":"Conceptos clave de JavaScript para empezar con React","isPartOf":{"@id":"https:\/\/carontestudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#primaryimage"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg","datePublished":"2025-04-08T11:00:00+00:00","dateModified":"2025-05-19T13:33:46+00:00","description":"Repasa los conceptos clave de JavaScript que debes dominar para comenzar con ReactJS, para no frustrarte en su aprendizaje.","breadcrumb":{"@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#primaryimage","url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg","contentUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/03\/ReactJS-Conceptos-de-JavaScript-a-repasar-antes-de-empezar-con-React.jpg","width":1250,"height":737,"caption":"ReactJS Conceptos de JavaScript a repasar antes de empezar con React"},{"@type":"BreadcrumbList","@id":"https:\/\/carontestudio.com\/blog\/reactjs-conceptos-de-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/carontestudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ReactJS: Conceptos de JavaScript a repasar antes de empezar con React"}]},{"@type":"WebSite","@id":"https:\/\/carontestudio.com\/blog\/#website","url":"https:\/\/carontestudio.com\/blog\/","name":"Blog de marketing | Caronte","description":"En nuestro blog encontrar\u00e1s art\u00edculos semanales sobre SEO, marketing online, programaci\u00f3n web y mucho m\u00e1s.","publisher":{"@id":"https:\/\/carontestudio.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/carontestudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/carontestudio.com\/blog\/#organization","name":"Caronte - Agencia de marketing","url":"https:\/\/carontestudio.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/06\/caronte-agencia-de-marketing-logo.png","contentUrl":"https:\/\/carontestudio.com\/blog\/wp-content\/uploads\/2025\/06\/caronte-agencia-de-marketing-logo.png","width":1090,"height":155,"caption":"Caronte - Agencia de marketing"},"image":{"@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/carontewebstudio\/","https:\/\/www.instagram.com\/caronte_studio\/","https:\/\/www.tiktok.com\/@carontewebstudio","https:\/\/www.youtube.com\/@carontewebstudio","https:\/\/es.linkedin.com\/company\/carontewebstudio"]},{"@type":"Person","@id":"https:\/\/carontestudio.com\/blog\/#\/schema\/person\/b3de34e35d8ffffb7e620d1166ea5f52","name":"David Boo","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/18a3ceeedb69fb45810646b329f07e0675f1e3b50d53fd3cb7522332f8c15ee9?s=96&d=mm&r=g","caption":"David Boo"},"sameAs":["http:\/\/carontestudio.com"],"url":"https:\/\/carontestudio.com\/blog\/author\/david-boo\/"}]}},"_links":{"self":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/22571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/comments?post=22571"}],"version-history":[{"count":24,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/22571\/revisions"}],"predecessor-version":[{"id":23364,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/posts\/22571\/revisions\/23364"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/media\/22667"}],"wp:attachment":[{"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/media?parent=22571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/categories?post=22571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/carontestudio.com\/blog\/wp-json\/wp\/v2\/tags?post=22571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}