La popularidad de Node.js definitivamente ha impulsado el uso de javascript como lenguaje de back-end, y para comenzar con javascript en el back-end, necesita conocer algunos conceptos básicos y reglas generales de este lenguaje. El siguiente artículo es para comenzar con el desarrollo de back-end usando JavaScript.
Motor JavaScript
Cada navegador tiene su propio motor de JavaScript que se utiliza para admitir los scripts de JavaScript para que funcionen correctamente. El trabajo básico de un motor javascript es tomar el código javascript y luego convertirlo en un código rápido y optimizado que pueda ser interpretado por un navegador. A continuación se muestran los nombres de los motores de JavaScript utilizados en algunos de los navegadores más populares que existen.
- Cromo: V8
- Firefox: Mono Araña
- Safari: JavaScriptCore
- Microsoft Edge/Internet Explorer: Chakra/ChakraCore
Estándar ECMA Script : El estándar ECMA Script es una especificación de lenguaje de secuencias de comandos de marca comercial estandarizada por la Asociación Europea de Fabricantes de Computadoras.
Definiciones de tipos en JavaScript
Escritura dinámica : el intérprete determina el tipo de la variable dinámicamente en función de ciertas condiciones.
Tipos de datos primitivos : los tipos de datos primitivos son los tipos de datos que no tienen métodos adjuntos, es decir, algunos métodos definidos no se pueden usar con ellos y se usan de forma aislada. Aunque hay formas de usar esos métodos al envolver estas variables de tipos de datos primitivos (que se tratan en el siguiente artículo). Los siguientes son los tipos de datos que pertenecen a la categoría primitiva:
- indefinido: si la variable existe pero no está definida, se clasifica como indefinida.
- nulo: si la variable existe pero no se establece explícitamente, se incluye en la categoría nula.
- booleano: booleano representa una entidad lógica y puede tener dos valores: verdadero y falso.
- número: El número es el tipo de datos para definir un número que puede ser entero, punto flotante, doble. El único problema aquí es que tenemos que asignar una memoria equivalente a una variable doble cada vez que definimos un número.
- string: Esto se utiliza para definir los valores de string de un carácter.
- símbolo: este es un tipo de datos especial que es nuevo en ECMA Script 6. El tipo de datos «símbolo» es un tipo de datos primitivo que tiene la cualidad de que los valores de este tipo se pueden usar para hacer que las propiedades de los objetos sean anónimas.
Objeto:
Todo en JavaScript es un objeto. Es decir, cada variable, string, array o cualquier otra estructura que sepamos pertenece a la categoría de objeto. Los objetos de Java Script pueden ser entendidos por casi todos los idiomas y son fáciles de leer.
Creación de objetos: hay 4 formas de crear objetos:
1. Creación de objetos con un constructor:
//simple function function vehicle(name,maker,engine){ this.name = name; this.maker = maker; this.engine = engine; } //new keyword to create an object let car = new vehicle('GT','BMW','1998cc'); //property accessors console.log(car.name); console.log(car.maker); console.log(car['engine']);
Producción:
2.Usando objetos literales
//creating js objects with object literal let car = { name : 'GT', maker : 'BMW', engine : '1998cc' }; //property accessor console.log(car.name); //dot notation console.log(car['maker']); //bracket notation
Salida :
3. Crear un objeto con el método Object.create():
const coder = { isStudying : false, printIntroduction : function(){ console.log(`My name is ${this.name}. Am I studying?: ${this.isStudying}`); } }; const me = Object.create(coder); me.name = 'Mukul'; me.isStudying = true; me.printIntroduction();
Producción:
4. Usando clases es6:
//using es6 classes class Vehicle { constructor(name, maker, engine) { this.name = name; this.maker = maker; this.engine = engine; } } let car1 = new Vehicle('GT', 'BMW', '1998cc'); console.log(car1.name); // GT
Producción:
Coerción: Lo que llamamos encasillamiento en C, C++, Java, se llama coerción en JavaScript. Es básicamente el proceso de convertir un valor de un tipo a otro (como una string a un entero, un entero a booleano, etc.).
La coacción es de dos tipos:
- Coerción
explícita La coerción explícita es el proceso mediante el cual definimos explícitamente una variable a un tipo de datos.let x = 42;
let explicit = String(x);
// explicit is set to "42"
let explicit2 = x.toString();
//another method to explicitly change type.
- Coerción implícita La coerción implícita es el proceso mediante el cual el intérprete escribe dinámicamente la variable bajo ciertas condiciones.
let x = 42;
let implicit = x +
" "
;
// interpreter automatically sets implicit as "42"
Alcance
Tiempo de vida de las variables: El tiempo de vida de las variables es desde donde se declaran hasta que termina su función. Si no se define ninguna función, el alcance de la variable es global.
Elevación: Las definiciones de funciones se elevan, pero no las declaraciones de variables. Esto significa que cuando se declara una función, se puede usar desde cualquier lugar dentro de su código. Para obtener más información sobre la elevación en javascript, visite esto.
El motor de JavaScript funciona en dos fases diferentes :
- Fase de creación: antes de ejecutar el código, el motor lee todo el archivo y arrojará un error sintáctico si encuentra uno. Mientras lo hace, cualquier definición de función simplemente se guardará en la memoria. No se ejecutará ninguna inicialización de variables, pero se declararán los nombres de las variables.
- Fase de ejecución: La fase de ejecución es la fase en la que se ejecuta el código y, por lo tanto, los errores de ejemplo de elevación de variables anteriores como indefinidos ya que, en la fase de creación, la variable ha sido declarada pero no definida en la fase de creación.
Eso es todo por este artículo. Cubriremos algunos temas avanzados en el próximo artículo de seguimiento.
Este artículo es una contribución de Mukul Latiyan . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeek y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA