¿Que tanto sabes de los entornos léxicos de javascript?
(1/1)
MinusFour:
El objetivo del ejercicio es comprender que es lo que ocurre en cada segmento de código. Todos están relacionados al tema aunque algunos más que otros.
1.
Código
(function test(){ console.log('ok'); })
test();
2.
Código
test()
function test(){ console.log('ok'); }
3.
Código
(function test(t = eval('var t = 1;')){
console.log(t);
})();
4.
Código
(function test(t = eval('var c = 1;')){
console.log(c);
var c = 0;
})();
5.
Código
(function test(){
x();
function x(){ console.log(1); };
function x(){ console.log(2); };
})();
6.
Código
(function test(){
x();
function x(){ console.log(1); };
{
x();
function x(){ console.log(2); };
}
x();
})();
7.
Código
new class {
constructor() {
x();
function x(){ console.log(1); }
function x(){ console.log(2); }
}
}
8.
Código
new class {
constructor() {
function x(){ console.log(1); }
{
function x(){ console.log(2); }
}
x();
}
}
9.
Código
new class {
constructor() {
{
function x(){ console.log('ok'); }
}
x();
}
}
10.
Código
new class {
constructor() {
{
function x(){ console.log(1); }
function x(){ console.log(2); }
x();
}
}
}
11.
Código
(function test(c){
var c;
console.log('ok');
})();
12.
Código
(function test(c){
let c;
console.log('ok');
})();
13.
Código
(function test(){
var c;
var c;
console.log('ok');
})();
14.
Código
(function test(c, c){
console.log(c);
})(1,2);
15.
Código
(function test(c, c = 2){
console.log(c);
})(1);
16.
Código
(function test(){
console.log(arguments);
})();
17.
Código
(() => console.log(arguments))();
18.
Código
(function test(arguments){
console.log(arguments);
})();
19.
Código
(function test(...c){
console.log(arguments);
})();
20.
Código
(function test(){
let arguments;
console.log(arguments);
})();
21.
Código
(function test(){
var arguments;
console.log(arguments);
})();
22.
Código
(function test(){
var c;
let c;
})();
23.
Código
(function test(){
var c;
{
let c;
}
})();
24.
Código
(function test(){
let c;
{
var c;
}
})();
25.
Código
(function test(){
let c;
if(false){
var c;
}
})();
Las respuestas las publicare a lo largo del día.
Edit: Quizás el tema vaya mejor en Desafios - Wargames o en Scripting. Pero algunas de las preguntas están relacionadas con Desarrollo Web (y esto es decir mucho).
MinusFour:
Mi explicación de cada código.
https://gist.github.com/MinusFour/a4a3143edc0f04cc5bd57fe500fd20ba
[u]nsigned:
Excelente, muchas de estas cosas entran en las preguntas de entrevista técnica, tambien te suelen poner 'trampitas' con los closures y el hoisting. ;-)
carlmarx:
Cita de: [u]nsigned en 11 Agosto 2021, 00:02 am
Excelente, muchas de estas cosas entran en las preguntas de entrevista técnica, tambien te suelen poner 'trampitas' con los closures y el hoisting. ;-)
Sucede. En general, todo nuestro departamento fue despedido por errores en el desarrollo de programas en Java. Al final resultó que, generalmente usan una versión obsoleta. No sé dónde reclutaron a estas personas en absoluto. Luego recurrimos a desarrolladores externos https://qawerk.es/servicios/pruebas-de-aplicaciones-de-escritorio/ para probar todo después del lanzamiento. Esto cambió radicalmente la situación.
Navegación