¿En qué año creó Brendan Eich JavaScript en Netscape?
Respuesta : 1995
Brendan Eich diseñó JavaScript en 1995 en Netscape, en unos diez días. El lenguaje no tiene ningún parentesco con Java, a pesar del nombre.
Repasa JavaScript y TypeScript: aquí tienes una selección de preguntas de todos los niveles, con respuesta y explicación. Para ponerte a prueba sin ver las respuestas, juega a los quizzes.
Jugar a los quizzes de JavaScript y TypeScriptRespuesta : 1995
Brendan Eich diseñó JavaScript en 1995 en Netscape, en unos diez días. El lenguaje no tiene ningún parentesco con Java, a pesar del nombre.
Respuesta : let
let declara una variable de ámbito de bloque que se puede reasignar. const impide la reasignación, y var tiene ámbito de función.
Respuesta : string
El operador typeof devuelve una cadena que describe el tipo del valor: para una cadena de caracteres, el resultado es string.
Respuesta : true
El operador == compara tras una conversión: '0' se convierte en el número 0. Con === los tipos también deben coincidir, y el resultado sería false.
Respuesta : length
La propiedad length da el número de elementos de un array: [1, 2, 3].length vale 3.
Respuesta : querySelector
querySelector acepta cualquier selector CSS y devuelve el primer elemento encontrado, o null si ninguno coincide.
Respuesta : Registrar una función que se llama cuando se produce un evento
addEventListener asocia una función a un elemento para un tipo de evento, como un clic. Esa función se llama cada vez que se produce el evento.
Respuesta : JSON.stringify
JSON.stringify convierte un valor JavaScript en texto JSON; JSON.parse hace lo contrario.
Respuesta : ES6 (ECMAScript 2015)
ES6, publicada en 2015, introdujo let y const, las funciones flecha y las clases.
Respuesta : undefined
Con var, la declaración sube (hoisting) pero no la asignación: x ya existe, con el valor undefined. Con let, el mismo acceso lanza un ReferenceError.
Respuesta : Al de la función envolvente, definido en el lugar donde se escribe la función
Una función flecha no tiene this propio: toma el de la función envolvente, es decir, el del lugar donde se escribe la función.
Respuesta : Una función que conserva el acceso a las variables del ámbito donde se creó
Una closure conserva el acceso a las variables de la función envolvente, incluso después de que esta haya terminado de ejecutarse.
Respuesta : undefined
undefined es el valor de una variable declarada sin asignación. null representa una ausencia de valor elegida explícitamente por el programador.
Respuesta : [2, 4]
filter conserva los elementos para los que la función devuelve true: aquí, los números pares.
Respuesta : Una promesa que se resolverá con el valor 10
El valor resultante del then es lo que devuelve la función callback: aquí 5 por 2, es decir 10.
Respuesta : Siempre una promesa
Una función async siempre devuelve una promesa: el valor de return se envuelve, y una excepción se convierte en un rechazo.
Respuesta : 2012
TypeScript, dirigido por Anders Hejlsberg, lo publica Microsoft en octubre de 2012: es un superconjunto tipado de JavaScript.
Respuesta : Un valor unknown debe comprobarse antes de usarlo, mientras que any desactiva esa comprobación
any desactiva la comprobación de tipos sobre el valor. unknown obliga a restringir el tipo antes de cualquier uso, lo que protege el código.
Respuesta : Conserva el tipo del argumento recibido y lo devuelve tal cual
T es una variable de tipo: TypeScript la deduce del argumento en cada llamada, lo que conserva el tipo preciso del resultado.
Respuesta : Por la estructura: cuenta lo que posee el objeto, no el nombre declarado
TypeScript es estructural: un objeto es compatible si posee las propiedades esperadas con los tipos correctos, incluso sin declaración explícita.
Respuesta : La cola de microtareas, como las promesas
Los callbacks de las promesas forman la cola de microtareas, que el bucle vacía por completo entre dos tareas. Las macrotareas, como setTimeout, se tratan una a una.
Respuesta : En el prototipo del objeto, y después en la cadena de prototipos
La búsqueda sube por la cadena de prototipos. Si la propiedad no existe en ninguna parte, el valor leído es undefined, sin error.
Respuesta : strict
strict: true activa en particular strictNullChecks y noImplicitAny. Cada una de estas opciones también puede ajustarse por separado.
Respuesta : npm
npm lee el archivo package.json e instala las dependencias en la carpeta node_modules.
Jugar a los quizzes de JavaScript y TypeScript