Cómo usar el compilador de JavaScript
Para utilizar el compilador de JavaScript, siga estos pasos:
Para utilizar el compilador, siga estos pasos:
- En el editor de código, escriba su código JavaScript.
- Haga clic en el botón "EJECUTAR" para compilar y ejecutar su código.
- La salida y los errores se mostrarán en el editor.
Tomando Entradas
Entrada de Texto
Este fragmento de código lee una cadena de la entrada estándar (stdin) y la imprime en la consola.
function processInput(string1) {
console.log("Usted ingresó: " + string1);
}
// NO EDITE NINGÚN CÓDIGO DEBAJO DE ESTA LÍNEA
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
input_stdin += data;
});
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
testCode();
});
function readLine() {
return input_stdin_array[input_currentline++].trim();
}
function testCode() {
var string1 = readLine();
processInput(string1.trim());
}
En este código, la función processInput()
se utiliza para procesar la cadena de entrada e imprimirla en la consola. La función readLine()
se utiliza para leer una línea de entrada del stdin, y la función testCode()
se utiliza para llamar a la función processInput()
con la cadena de entrada.
Arreglo de Números
Este fragmento de código lee una línea de números separados por comas del stdin, la convierte en un arreglo de números y la imprime en la consola.
function processInput(numbers) {
console.log("Arreglo de números: ", numbers);
}
// NO EDITE NINGÚN CÓDIGO DEBAJO DE ESTA LÍNEA
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
input_stdin += data;
});
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
testCode();
});
function readLine() {
return input_stdin_array[input_currentline++].trim();
}
function testCode() {
var numbers = readLine().split(',').map(Number);
processInput(numbers);
}
En este código, la función readLine()
lee una línea de entrada del stdin, y los métodos split()
y map()
se utilizan para convertir la cadena de entrada en un arreglo de números. La función processInput()
se llama entonces con el arreglo de números como argumento.
Entrada de Matriz
Este fragmento de código lee varias líneas de entrada del stdin, cada línea contiene números separados por comas, y las convierte en una matriz (un arreglo de arreglos). La matriz se imprime entonces en la consola.
function processInput(matrix) {
console.log("Matriz: ", matrix);
}
// NO EDITE NINGÚN CÓDIGO DEBAJO DE ESTA LÍNEA
process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
input_stdin += data;
});
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
testCode();
});
function readLine() {
return input_stdin_array[input_currentline++].trim();
}
function testCode() {
var rows = readLine();
var matrix = [];
for(let i=0; i<rows; i++) {
let row = readLine().split(',').map(Number);
matrix.push(row);
}
processInput(matrix);
}
En este código, la función readLine()
se utiliza para leer cada línea de entrada del stdin. La primera línea de entrada es el número de
filas en la matriz. Para cada fila, la función readLine()
lee una línea de entrada, y los métodos split()
y map()
se utilizan para convertir la cadena de entrada en un arreglo de números. Estos arreglos se añaden entonces al arreglo matrix
. Finalmente, la función processInput()
se llama con matrix
como argumento.
Examen en Línea de JavaScript
Un examen en línea de JavaScript es una herramienta poderosa para evaluar las habilidades de programación JavaScript de un individuo. Estas pruebas suelen incluir una variedad de preguntas, que van desde preguntas teóricas de opción múltiple hasta desafíos de codificación prácticos. Al resolver estos problemas, los candidatos demuestran su comprensión de los conceptos de JavaScript, sus habilidades para resolver problemas y su dominio de la codificación. Dichas pruebas se utilizan comúnmente en entrevistas técnicas, campamentos de entrenamiento de codificación y plataformas de aprendizaje en línea para evaluar el progreso y el dominio de JavaScript de un estudiante.
Conceptos Básicos de la Sintaxis de JavaScript
JavaScript es un lenguaje de programación dinámico e interpretado que se utiliza principalmente para crear aplicaciones basadas en la web. Aquí hay una introducción a los conceptos básicos de la sintaxis de JavaScript:
Variables
Las variables en JavaScript se pueden declarar utilizando var
, let
o const
.
var name = "John Doe"; // Antigua forma de declarar variables, tiene alcance de función
let age = 25; // Nueva forma de declarar variables, tiene alcance de bloque
const pi = 3.14; // Declaración de constantes, no se puede reasignar
Tipos de Datos
JavaScript tiene varios tipos de datos, incluidos Number
, String
, Boolean
, Object
, Null
y Undefined
.
let num = 10; // Número
let str = "Hola Mundo"; // Cadena
let bool = true; // Booleano
let obj = {name: "John Doe", age: 25}; // Objeto
let n = null; // Nulo
let undef; // Indefinido
Arreglos
Los arreglos en JavaScript pueden contener múltiples valores y se pueden declarar utilizando corchetes []
.
let arr = [1, 2, 3, 4, 5]; // Arreglo de números
Estructuras de Control
JavaScript incluye estructuras de control como if
, else
, for
, while
y switch
.
// If-Else
if (age > 18) {
console.log("Adulto");
} else {
console.log("Menor");
}
// Bucle For
for (let i = 0; i < 5; i++) {
console.log(i);
}
// Bucle While
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
// Switch
switch (day) {
case "Lunes":
console.log("Inicio de la semana laboral");
break;
case "Viernes":
console.log("Fin de la semana laboral");
break;
default:
console.log("Entre semana");
}
Funciones
Las funciones en JavaScript se pueden declarar utilizando la palabra clave function
.
function greet(name) {
console.log("Hola, " + name);
}
greet("John Doe"); // Llama a la función con "John Doe" como argumento
Objetos
Los objetos en JavaScript son colecciones de pares clave-valor.
let person = {
name: "John Doe",
age: 25,
greet: function() {
console.log("Hola, " + this.name);
}
};
person.greet(); // Llama al método greet del objeto person
Funciones de Flecha
Las funciones de flecha proporcionan una sintaxis concisa para escribir funciones en JavaScript. Son especialmente útiles cuando se trabaja con expresiones de función o funciones de orden superior.
const greet = (name) => {
console.log(`Hola, ${name}`);
}
greet("John Doe"); // Llama a la función con "John Doe" como argumento
Promesas
Las promesas en JavaScript representan la finalización o el fallo de una operación asíncrona. Se utilizan para gestionar operaciones asíncronas como solicitudes del servidor.
let promise = new Promise((resolve, reject) => {
let success = true;
if (success) {
resolve("¡La operación fue un éxito!");
} else {
reject("La operación falló.");
}
});
promise.then((message) => {
console.log(message);
}).catch((message) => {
console.log(message);
});
Async/Await
Las palabras clave async
y await
en JavaScript se utilizan para trabajar con promesas de una manera sincrónica más cómoda.
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
let data = await response.json();
console.log(data);
} catch (error) {
console.log(error);
}
}
fetchData();
Módulos
Los módulos en JavaScript son piezas de código reutilizables que se pueden exportar desde un programa e importar para su uso en otro programa.
// lib.js
export function greet(name) {
console.log(`Hola, ${name}`);
}
// app.js
import { greet } from './lib.js';
greet("John Doe");
Literales de Plantilla
Los literales de plantilla proporcionan una manera fácil de interpolar variables y expresiones en cadenas.
let name = "John Doe";
console.log(`Hola, ${name}`); // Salida: Hola, John Doe
Asignación de Desestructuración
La sintaxis de asignación de desestructuración en JavaScript permite desempaquetar valores de arreglos, o propiedades de objetos, en variables distintas.
let [a, b] = [1, 2];
console.log(a); // Salida: 1
console.log(b); // Salida: 2
let {name, age} = {name: "John Doe", age: 25};
console.log(name); // Salida: John Doe
console.log(age); // Salida: 25
Estos son algunos de los elementos de sintaxis más avanzados de JavaScript. A medida que continúe explorando JavaScript, encontrará aún más conceptos y características.
Funciones
Las funciones en JavaScript son bloques de código diseñados para realizar una tarea en particular. Una función de JavaScript se define con la palabra clave function
, seguida de un nombre, seguido de paréntesis ()
.
function sayHello() {
console.log("¡Hola Mundo!");
}
sayHello(); // Llama a la función
Las funciones también pueden tomar parámetros, que se especifican dentro de los paréntesis en el momento de la definición de la función, y se pueden utilizar dentro de la función.
function greet(name) {
console.log("Hola, " + name);
}
greet("John"); // Llama a la función con "John" como argumento
Las funciones también pueden devolver valores utilizando la declaración return
.
function square(number) {
return number * number;
}
let result = square(5); // result ahora es 25
Programación Orientada a Objetos (OOP)
JavaScript es compatible con el paradigma de programación orientada a objetos (OOP). En OOP, organizamos nuestro código utilizando objetos y clases.
Un objeto es una colección de propiedades, y una propiedad es una asociación entre un nombre (o clave) y un valor. El valor de una propiedad puede ser una función, en cuyo caso la propiedad se conoce como método.
let person = {
firstName: "John",
lastName: "Doe",
age: 25,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};
console.log(person.fullName()); // Salida: John Doe
Una clase es un tipo de función, pero en lugar de utilizar la palabra clave function
para iniciarla, utilizamos la palabra clave class
.
class Person {
constructor(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
fullName() {
return this.firstName + " " + this.lastName;
}
}
let person = new Person("John", "Doe", 25);
console.log(person.fullName()); // Salida: John Doe
En la clase Person
, constructor
es un método especial para crear e inicializar un objeto creado con una clase. Solo puede haber un método especial con el nombre "constructor" en una clase.