JavaScript test
10.1K subscribers
3.05K photos
6 videos
4.44K links
Проверка своих знаний по языку JavaScript.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/js_test

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:
function processData({ a = 10, b = 20 } = { a: 30 }) {
console.log(a, b);
}

processData({ a: 5, b: 10 });
processData();

Ответ:
5 10
30 20


JavaScript test | #JavaScript
❗️Что будет на выходе:
const config = {
port: 0,
timeout: null,
retries: '',
cache: false,
debug: undefined
};

const port = config.port ?? 3000;
const timeout = config.timeout ?? 5000;
const retries = config.retries ?? 3;
const cache = config.cache ?? true;
const debug = config.debug ?? false;

console.log([port, timeout, retries, cache, debug]);

Ответ:
[0, 5000, '', false, false]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const regex = /^pear/gm;
const str = `dog
cat
bat`;
console.log(str.match(regex));

Ответ:
null

JavaScript test | #JavaScript
❗️Что будет на выходе:
function* gen() {
yield* ['x', 2, 3].map(x => x * 2);
}

const iterator = gen();
console.log(iterator.next().value);
console.log(iterator.next().value);
console.log(iterator.next().value);
console.log(iterator.next().value);

Ответ:
NaN
4
6
undefined


JavaScript test | #JavaScript
❗️Что будет на выходе:
function test() {
console.log(arguments.length);
}

test(1, 2, 3);
test.call(null, null, null, null);

Ответ:
3
3


JavaScript test | #JavaScript
❗️Что будет на выходе:
const team = {
captain: { name: 'Jack', age: 35 },
players: ['Bob', 'Alice', 'Mike'],
details: { founded: 2020, league: 'Premier' }
};

const {
captain: { name },
players: [, second],
details: { league: division = 'Amateur' }
} = team;

console.log(`${name}-${second}-${division}`);

Ответ:
Jack-Alice-Premier

JavaScript test | #JavaScript
❗️Что будет на выходе:
const handler = {
get: (target, prop) => {
if (prop in target) {
return target[prop] * 2;
}
return 100;
}
};

const nums = new Proxy({ a: 5, b: 10 }, handler);
console.log(nums.a, nums.b, nums.c);

Ответ:
10 20 100

JavaScript test | #JavaScript
Что будет на выходе?

const range = Array.from({ length: 5 }, (_, index) =>
index + 1);
console.log(range);

Ответ: [1, 2, 3, 4, 5]

JavaScript test | #JavaScript
❗️Что будет на выходе:
async function fetchData() {
const promise = new Promise(resolve => {
setTimeout(() => resolve('first'), 2000);
});

console.log('start');
const result = await promise;
console.log(result);
console.log('end');
}

fetchData();
const x = 'after';
console.log(x);

Ответ:
start alert first end

JavaScript test | #JavaScript
❗️Что будет на выходе:
const map = new Map();
const key1 = {};
const key2 = key1;

map.set(key1, "Value for key1");
map.set(key2, "Value for key2");

console.log(map.get(key2));
console.log(map.get(key1));

Ответ:
Value for key2
Value for key2


JavaScript test | #JavaScript
❗️Что будет на выходе:
function* counter() {
let count = 1;
while (true) {
const reset = yield count;
count = reset ? 1 : count + 1;
}
}

const gen = counter();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next(true).value);
console.log(gen.next().value);

Ответ:
1, 2, 1, 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
function foo() {
var secondDigit = 1
let firstDigit = secondDigit
firstDigit++
return firstDigit
}

foo()
console.log(typeof firstDigit)
console.log(typeof secondDigit)

Ответ:
undefined
undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
var a=[1,3,6,9,12,24,36,72,15]
var b=a.filter(x=>x%2==0&&x%3==0&&x%4==0)
console.log(b)

Ответ:
[ 12, 24, 36, 72 ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const user = {
profile: {
name: "Alice",
settings: null
},
getPreferences() {
return this.profile.settings?.theme || "default";
}
};

const admin = {
profile: {
name: "Admin"
},
getPreferences() {
return this.profile.settings?.theme || "default";
}
};

console.log(user.getPreferences());
console.log(admin.getPreferences());
console.log(user.profile.extra?.id?.toString());

Ответ:
default default undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
const arr = [3, 8, 12];
const even = (elem) => elem % 2 === 0;

console.log(arr.map(even));

Ответ:
[ false, true, true ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
function Animal(name) {
this.name = name;
}

Animal.prototype.speak = function() {
return `${this.name} makes a noise`;
};

function Dog(name) {
Animal.call(this, name);
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.speak = function() {
return `${this.name} barks`;
};

const animal = new Animal('Animal');
const dog = new Dog('Rex');

console.log(dog instanceof Animal);

Ответ:
true

JavaScript test | #JavaScript
❗️Что будет на выходе:
const a = [1,2,3];
const b = a.reverse();
const c = a.reverse();

console.log(a);
console.log(b);
console.log(c);

Ответ:
[ 1, 2, 3 ]
[ 1, 2, 3 ]
[ 1, 2, 3 ]

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = { x: 1, y: 2 };
let {x: a, y: b } = obj;
a = 2;
console.log(a, obj.y);

Ответ:
2 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
const company = {
name: 'TechCorp',
departments: {
engineering: {
head: { name: 'Alice', contact: null },
staff: 50
},
marketing: null
}
};

const engineeringContact = company.departments.engineering.head.contact;
const marketingHead = company.departments.marketing?.head?.name;
const financeStaff = company?.departments?.finance?.staff ?? 'Not available';

console.log(`${engineeringContact} - ${marketingHead} - ${financeStaff}`);

Ответ:
null - undefined -Not available

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = Object.freeze({
a: [1, 2, 3],
b: {
c: 4
}
});

obj.a.push(obj.b);
obj.b.c = 5;

console.log(obj.a);
console.log(obj.a.b);

Ответ:
[ 1, 2, 3, { c: 5 } ]
undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
function A() {}
function B() {}

A.prototype = B.prototype = {};

let a = new A();
let b = new B();

console.log( b instanceof A );

Ответ:
true

JavaScript test | #JavaScript