JavaScript: todo lo que sabe sobre JS

Hay algunos conceptos básicos en JavaScript (también conocido como JS) que es muy esencial aprender. En este blog, traté de dar una breve pero precisa demostración de esos conceptos cruciales de JS. Seguramente, después de que hayas aprendido esos temas, JavaScript te resultará menos extraño. Así que, ¡sin más preámbulos! Empecemos.
Alta abstracción
En programación, alta abstracción significa que las partes comparativamente complejas se ocultan y las partes simplificadas se ven. La sintaxis de los lenguajes de alta abstracción es fácil en comparación con los lenguajes de bajo nivel como C y Java, lo que facilita a los programadores trabajar con un lenguaje de alta abstracción como JavaScript, Python, Go, etc.
Recolector de basura
A diferencia de los lenguajes de bajo nivel como C, no necesitamos mantener la memoria manualmente en JavaScript. Más bien, JavaScript utiliza una gestión de memoria automática que se denomina Recolección de basura. Utilizando el algoritmo Mark-and-Sweep, el motor de JavaScript recopila automáticamente las asignaciones de memoria no utilizadas y luego las elimina.
Compilación JIT
Con la ayuda de la compilación JIT (justo a tiempo), el programa se compila durante el tiempo de ejecución en código nativo para mejorar el rendimiento. Los navegadores modernos admiten la compilación JIT para compilar código JavaScript, lo que hace que el tiempo de ejecución sea más rápido.
Paradigma
múltiple Un lenguaje de paradigma múltiple permite a los programadores diseñar un programa en múltiples enfoques. JavaScript es compatible con la programación orientada a objetos, la programación procedimental, la programación funcional, etc.
Basado en prototipos
Obviamente, JavaScript es un lenguaje basado en prototipos, lo que significa que las propiedades y los métodos de un objeto se pueden compartir entre objetos generalizados que se pueden clonar y ampliar. En palabras simples, puede clonar las propiedades y métodos de un objeto y también puede agregar propiedades y métodos adicionales a ese objeto recién clonado.
Escrito dinámicamente
Simplemente, en JavaScript, el tipo de una variable se comprueba en el tiempo de ejecución. Para eso, ni siquiera necesitamos especificar el tipo de datos de una variable. Además, se llama lenguaje de tipos flexibles porque los tipos de datos también se pueden cambiar automáticamente en el tiempo de ejecución, lo que se denomina coerción de tipos. Sin embargo, TypeScript, un superconjunto de JavaScript, es un lenguaje de tipado estático.
JS de subproceso único
tiene una pila de llamadas y un montón de memoria, lo que significa que solo hay un subproceso (proceso) para que se ejecuten las instrucciones. Sencillamente, solo se ejecuta una declaración a la vez en JavaScript.
Asíncrono
Aunque es un lenguaje de subproceso único, JavaScript se comporta de forma asíncrona con la ayuda de la cola de devolución de llamada y el bucle de eventos. Las declaraciones asíncronas se almacenan en la cola de devolución de llamada y son llamadas por el bucle de eventos y luego se ejecutan cada vez que se ejecutan las operaciones síncronas.
Sin bloqueo
El no bloqueo se refiere a la noción de no bloquear la ejecución para una operación posterior. JavaScript no espera para completar las operaciones de E/S extendidas y las solicitudes HTTPS. En lugar de esperar, almacena la declaración asíncrona en la cola de devolución de llamada y ejecuta el resto de las operaciones síncronas. Este concepto de no bloqueo también está relacionado con el comportamiento asíncrono de JavaScript que ya discutimos.
Las funciones son ciudadanos de primera clase Las
funciones se denominan ciudadanos de primera clase en JavaScript. Porque, en JavaScript, las funciones se pueden declarar como variables, se pueden pasar como argumento en otra función y se pueden devolver desde una función. Además, las funciones se pueden establecer como un método de un objeto.
Nota: En este blog, solo traté de brindar una descripción general de las funciones y características más cruciales de JavaScript. Ahora es su deber aprender más sobre estos temas mencionados anteriormente.