Java Script
Java Script
Java Script
Veamos qué tiene de especial JavaScript, qué podemos lograr con él y qué otras tecnologías
funcionan bien con él.
¿Qué es JavaScript?
JavaScript se creó inicialmente para "dar vida a las páginas web".
Los programas en este lenguaje se denominan scripts . Se pueden escribir directamente en el HTML
de una página web y ejecutarse automáticamente a medida que se carga la página.
Los scripts se proporcionan y ejecutan como texto sin formato. No necesitan preparación especial o
compilación para funcionar.
Hoy en día, JavaScript puede ejecutarse no solo en el navegador, sino también en el servidor, o en
realidad en cualquier dispositivo que tenga un programa especial llamado motor de JavaScript .
Es bueno recordar los términos anteriores porque se usan en artículos para desarrolladores en
Internet. Los usaremos también. Por ejemplo, si "una característica X es compatible con V8", entonces
probablemente funcione en Chrome, Opera y Edge.
Las capacidades de JavaScript dependen en gran medida del entorno en el que se ejecuta. Por
ejemplo, Node.js admite funciones que permiten que JavaScript lea/escriba archivos arbitrarios,
realice solicitudes de red, etc.
El JavaScript en el navegador puede hacer todo lo relacionado con la manipulación de páginas web, la
interacción con el usuario y el servidor web.
• JavaScript en una página web no puede leer/escribir archivos arbitrarios en el disco duro,
copiarlos o ejecutar programas. No tiene acceso directo a las funciones del sistema operativo.
Los navegadores modernos le permiten trabajar con archivos, pero el acceso es limitado y solo
se brinda si el usuario realiza ciertas acciones, como "soltar" un archivo en una ventana del
navegador o seleccionarlo a través de una <input>etiqueta.
Esto se llama la “Política del Mismo Origen”. Para evitarlo, ambas páginas deben aceptar el
intercambio de datos y contener un código JavaScript especial que lo maneje. Cubriremos eso
en el tutorial.
Esta limitación es, nuevamente, para la seguridad del usuario. Una página
desde http://anysite.comla que un usuario ha abierto no debe poder acceder a otra pestaña
del navegador con la URL http://gmail.comy robar información de allí.
• JavaScript puede comunicarse fácilmente a través de la red con el servidor de donde proviene
la página actual. Pero su capacidad para recibir datos de otros sitios/dominios está
paralizada. Aunque es posible, requiere un acuerdo explícito (expresado en encabezados HTTP)
del lado remoto. Una vez más, eso es una limitación de seguridad.
Dichos límites no existen si JavaScript se usa fuera del navegador, por ejemplo, en un servidor. Los
navegadores modernos también permiten complementos/extensiones que pueden solicitar permisos
extendidos.
Eso es lo que hace que JavaScript sea único. Por eso es la herramienta más extendida para crear
interfaces de navegador.
Dicho esto, JavaScript también permite crear servidores, aplicaciones móviles, etc.
Eso es de esperar, porque los proyectos y requisitos son diferentes para todos.
Las herramientas modernas hacen que la precompilación sea muy rápida y transparente, lo que
permite a los desarrolladores codificar en otro idioma y convertirlo automáticamente "bajo el capó".
• CoffeeScript es un "azúcar sintáctico" para JavaScript. Introduce una sintaxis más corta, lo que
nos permite escribir un código más claro y preciso. Por lo general, a los desarrolladores de
Ruby les gusta.
• TypeScript se concentra en agregar "tipado estricto de datos" para simplificar el desarrollo y el
soporte de sistemas complejos. Está desarrollado por Microsoft.
• Flow también agrega escritura de datos, pero de una manera diferente. Desarrollado por
Facebook.
• Dart es un lenguaje independiente que tiene su propio motor que se ejecuta en entornos que
no son de navegador (como aplicaciones móviles), pero también se puede precompilar a
JavaScript. Desarrollado por Google.
• Brython es un precompilador de Python a JavaScript que permite escribir aplicaciones en
Python puro sin JavaScript.
• Kotlin es un lenguaje de programación moderno, conciso y seguro que puede apuntar al
navegador o Node.
Resumen
• JavaScript se creó inicialmente como un lenguaje solo para navegadores, pero ahora también
se usa en muchos otros entornos.
• Hoy en día, JavaScript tiene una posición única como el lenguaje de navegador totalmente
integrado con HTML/CSS.
• Hay muchos lenguajes que se "precompilan" a JavaScript y brindan ciertas características.
Núcleo de JavaScript
Primero, veamos cómo adjuntamos un script a una página web. Tenga en cuenta que para entornos
del lado del servidor (como Node.js), puede ejecutar el script con un comando como "node my.js".
<script src="/js/script.js"></script>
Nota: en esta instrucción se utiliza una ruta absoluta al script desde la raíz del sitio (/).
<script src="js/script.js"></script>
<script src="./js/script.js"></script>
Nota: en estas instrucciones se utiliza una ruta relativa al script desde la página actual
<script src="https://cdnjs.cloudflare.com/libs/lodash.js"></script>
<script src="js/script1.js"></script>
<script src="js/script2.js"></script>
Los scripts de JavaScript se pueden colocar en las etiquetas <head> y/o <body>.
Cuando los scripts se incluyen en el encabezado, etiqueta <head>, se cargan o ejecutan antes del
contenido de la página. Cuando los incluye en el cuerpo, etiqueta <body>, se cargan o ejecutan
después del html anterior.
Por lo general, es una buena práctica poner las etiquetas <script> antes de finalizar la etiqueta
</body>.
Practica:
Digite el siguiente código de javascript en el archivo con extensión .js
1. Archivo: js/script.js
Archivo: prueba.html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
2. <script src="js/script.js"></script>
</head>
<body>
<h1>Temas</h1>
<ul id="temas">
<li>Lenguaje JS</li>
<li>Frameworks de Javascript </li>
</ul>
</body>
</html>
Archivo: prueba.html
4. <!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Temas</h1>
<ul id="temas">
<li>Lenguaje JS</li>
<li>Frameworks de Javascript </li>
<script src="js/script.js"></script>
</ul>
</body>
</html>