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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:
Promise.resolve(1)
.then(r => Promise.reject(r))
.catch(console.log)
.then(() => console.log(2));


Ответ: 1, 2

JavaScript test | #JavaScript
❗️Что будет на выходе:
const cache = new WeakMap();

function expensiveOperation(obj) {
if (cache.has(obj)) {
console.log('Cache hit!');
return cache.get(obj);
}

console.log('Computing result...');
const result = obj.value * 2;
cache.set(obj, result);
return result;
}

const user = { value: 42 };
expensiveOperation(user);
expensiveOperation(user);
expensiveOperation({ value: 42 });


Ответ: Computing result... Cache hit! Computing result...

JavaScript test | #JavaScript
❗️Что будет на выходе:
const weakMap = new WeakMap();
const objs = [{}, {}, {}];

objs.forEach((obj, index) => weakMap.set(obj, index + 1));

const result = objs.filter(obj => weakMap.has(obj)).map(obj => weakMap.get(obj) * 2);

console.log(result);

Ответ: [2, 4, 6]

JavaScript test | #JavaScript
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.

⚡️Что ждет вас на вебинаре?

— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.

👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.

PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.

erid: 2W5zFFzYJsa
ООО Зерокодер, ИНН 9715401631
❗️Что будет на выходе:
async function fetchData() {
return 'Data loaded';
}

async function processData() {
console.log('Starting...');
try {
const result = fetchData();
console.log(result);
console.log(await result);
return 'Processing complete';
} catch (error) {
return 'Error occurred';
} finally {
console.log('Cleanup');
}
}

processData().then(result => console.log(result));

Ответ: Starting... Promise { 'Data loaded' } Data loaded Cleanup Processing complete

JavaScript test | #JavaScript
❗️Что будет на выходе:
const data = [1, 2, 3, 4, 5];

const result = data.reduce((acc, val) => acc.concat(Array.from({ length: val }, (_, index) => val + index)), []);

console.log(result);


Ответ: [1, 2, 3, 3, 4, 5, 4, 5, 6, 7, 5, 6, 7, 8, 9]

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


Ответ: undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
function outer() {
console.log(innerVar);
console.log(typeof innerFunc);

var innerVar = 42;

function innerFunc() {
return innerVar;
}

let anotherVar = 100;
console.log(typeof anotherVar);
}

outer();


Ответ: undefined 'function' 'number'

JavaScript test | #JavaScript
❗️Что будет на выходе:
var a = 1;

function scopeQuiz() {
console.log(a);
var a = 2;
}

scopeQuiz();


Ответ: undefined

JavaScript test | #JavaScript
❗️Что будет на выходе:
function* rangeGenerator(start, end, step = 1) {
let current = start;
while (current <= end) {
yield current;
current += step;
}
}

const numbers = rangeGenerator(1, 10, 2);

numbers.next();
numbers.next();

const values = [...numbers];
console.log(values);


Ответ: [5, 7, 9]

JavaScript test | #JavaScript
❗️Что будет на выходе:
function* generator1() {
yield 1;
yield 2;
}

function* generator2() {
yield* generator1();
yield 3;
}

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


Ответ: 1, 2, 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = {
name: 'Taylor',
greet() {
return `Hello, ${this.name}!`;
},
delayedGreet() {
setTimeout(function() {
console.log(this.greet());
}, 100);
}
};

obj.delayedGreet();


Ответ: TypeError: this.greet is a not a function

JavaScript test | #JavaScript
❗️Что будет на выходе:
var a = 1;

const arrowQuiz = () => {
console.log(this.a);
};

arrowQuiz();
var a = 2;


Ответ: 1

JavaScript test | #JavaScript
❗️Что будет на выходе:
function createCounter() {
let count = 0;

function increment() {
count += 1;
return count;
}

function decrement() {
count -= 1;
return count;
}

return { increment, decrement, value: () => count };
}

const counter = createCounter();
counter.increment();
counter.increment();
counter.decrement();

console.log(counter.value() + counter.increment());


Ответ: 3

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


Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
const obj = { length: 3 };
console.log(Object.keys(obj).length);


Ответ: 1

JavaScript test | #JavaScript
❗️Что будет на выходе:
const memoryLeak = () => {
const cache = new Map();
const weakCache = new WeakMap();

const objKey = { id: 123 };
const data = { name: 'User data', value: 42 };

cache.set(objKey, data);
weakCache.set(objKey, data);

// Simulate removing reference to key
const result = { map: cache.has(objKey), weakMap: weakCache.has(objKey) };
// objKey = null; // This would be an error, as const can't be reassigned

return result;
};

console.log(memoryLeak());


Ответ: { map: true, weakMap: true }

JavaScript test | #JavaScript
❗️Что будет на выходе:
for (var i =0; i < 10; i++){
setTimeout(function (){
console.log(i);
}, 0);
}


Ответ: 10 10 10 10 10 10 10 10 10 10

JavaScript test | #JavaScript
❗️Что будет на выходе:
function createCounter() {
let count = 0;

return {
increment() {
return ++count;
},
reset() {
const oldCount = count;
count = 0;
return oldCount;
}
};
}

const counterA = createCounter();
const counterB = createCounter();

counterA.increment();
counterA.increment();
counterB.increment();
const result = counterA.reset() + counterB.reset();
console.log(result);


Ответ: 3

JavaScript test | #JavaScript
❗️Что будет на выходе:
async function asyncFunc() {
console.log('Async Start');
await new Promise(resolve => setTimeout(resolve, 100));
console.log('Async End');
}

console.log('Script Start');
asyncFunc();
setTimeout(() => console.log('Timeout 1'), 50);
setTimeout(() => console.log('Timeout 2'), 150);
console.log('Script End');

Ответ: Script Start, Async Start, Script End, Timeout 1, Async End, Timeout 2

JavaScript test | #JavaScript