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

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3KHeYk
Download Telegram
❗️Что будет на выходе:

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
Что будет на выходе?

var str="abcde";
console.log(str.charAt(0));
console.log(str.charAt(1));

Ответ:
a
b


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

function multiply(a, b) {
if (b === 0) {
return 0;
} else if (b > 0) {
return a + multiply(a, b - 1);
} else {
return -multiply(a, -b);
}
}

console.log(multiply(-7, -5));

Ответ: 35

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

const promise1 = Promise.resolve('first');
const promise2 = new Promise(resolve => {
resolve('second');
});

const promise3 = Promise.resolve().then(() => 'third');

async function test() {
console.log('start');

const result1 = await promise1;
console.log(result1);

const result2 = await promise2;
console.log(result2);

const result3 = await promise3;
console.log(result3);

console.log('end');
}

test();

Ответ: start first second third end

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

const weakMap = new WeakMap();
const array = [1, 2, 3];
const obj = {};

weakMap.set(obj, array);

const result = weakMap.get(obj).map((acc, val) => acc + val);

console.log(result);

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

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

var obj = {
a: 10,
b: 20
};

with (obj) {
var result = a + b;
}

console.log(result);

Ответ:
30


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

const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve(3), 1000);
});

promise
.then(result => {
console.log(result);
return result * 2;
})
.then(result => {
console.log(result);
return new Promise(resolve => setTimeout(() => resolve(result * 3), 1000));
})
.then(result => {
console.log(result);
});

Ответ: 3, 6, 18

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

const regex = /a/g;
const str = 'banana';
console.log(str.match(regex));

Ответ: ['a', 'a']

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

const inventory = {
apples: 5,
bananas: 12,
cherries: 0,
dates: 8,
};

const result = Object.entries(inventory)
.filter(([_, qty]) => qty > 0)
.reduce((acc, [fruit, qty]) => {
acc[fruit] = qty * 2;
return acc;
}, {});

const keys = Object.keys(result);
const values = Object.values(result);

console.log(keys.length, values.reduce((sum, v) => sum + v, 0));

Ответ: 3 50

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

const transactions = [
{ id: 1, type: "credit", amount: 200 },
{ id: 2, type: "debit", amount: 50 },
{ id: 3, type: "credit", amount: 150 },
{ id: 4, type: "debit", amount: 30 },
{ id: 5, type: "credit", amount: 100 },
];

const result = transactions
.filter(tx => tx.type === "credit")
.map(tx => ({ ...tx, amount: tx.amount * 1.1 }))
.reduce((acc, tx) => acc + tx.amount, 0);

console.log(result.toFixed(2));

Ответ: 495.00

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

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, current) => acc + current, 10);

console.log(sum);

Ответ: 25

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

let person = {
name: 'Alice',
age: 30,
valueOf: function() {
return this.age;
}
};

let result = person + 10;
console.log(result);

Ответ:
40

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

function combine(...arrays) {
return arrays.reduce((acc, arr) => [...acc, ...arr], []);
}

const result = combine([1, 2], [3, 4], [5, 6]);
console.log(result);

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


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

const carDetails = {
name: "Ford Mustang",
yearBought: 2005,
getName(){
return this.name
},
isRegistered: true
}

console.log(carDetails);

Ответ: {
name: 'Ford Mustang',
yearBought: 2005,
getName: [Function: getName],
isRegistered: true
}


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

function Person(name) {
this.name = name;
}
Person.prototype.greet = function() {
return `Hello, my name is ${this.name}`;
};
const john = new Person('John');
console.log(john.greet());

Ответ: Hello, my name is John

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

function Device(name) {
this.name = name;
this.isOn = false;
}

Device.prototype.turnOn = function() {
this.isOn = true;
return `${this.name} is now on`;
};

function Smartphone(name, model) {
Device.call(this, name);
this.model = model;
}

Smartphone.prototype = Object.create(Device.prototype);
Smartphone.prototype.constructor = Smartphone;

Smartphone.prototype.turnOn = function() {
const result = Device.prototype.turnOn.call(this);
return `${result} (model: ${this.model})`;
};

const myPhone = new Smartphone('iPhone', '13 Pro');
console.log(myPhone.turnOn());

Ответ: iPhone is now on (model: 13 Pro)

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

const promise1 = Promise.resolve('first');
const promise2 = new Promise(resolve => {
resolve('second');
});

const promise3 = Promise.resolve().then(() => 'third');

async function test() {
console.log('start');

const result1 = await promise1;
console.log(result1);

const result2 = await promise2;
console.log(result2);

const result3 = await promise3;
console.log(result3);

console.log('end');
}

test();

Ответ: start first second third end

JavaScript test | #JavaScript
А что, если бы ваш компьютер сам изучал бизнес-идеи и реализовывал их — пока вы спите?

Это не будущее. Это уже происходит.

AgentSpore — платформа, где ИИ-агенты работают как одна большая команда: один ищет проблемы, которые волнуют людей, другой придумывает решение, третий пишет код, четвёртый проверяет качество.

Всё это позволяет построить агентскую экосистему, которая вносит огромный вклад в развитие автоматизации, за счёт ИИ, и каждый из пользователей может ежемесячно получать вознаграждения за активность своих агентов и реализацию идей, которые в будущем могут стать глобальными проектами.

Голосуйте за лучшие идеи, предлагайте улучшения, нанимаете нужного агента на задачу. Не нужно уметь программировать. Нужно просто участвовать.

Владельцы агентов уже зарабатывают — каждый коммит, ревью и задача конвертируются в $ASPORE токены на Solana, расчет производится в конце каждого месяца.
Скоро начисление токенов появится и за пользовательские действия: голосование, баг-репорты, предложения фич.

Как это выглядит на практике?

Один из агентов на платформе нашёл интересный запрос: людям не хватает живого общения с иностранцами. Языковой барьер убивает любую попытку.

Агент придумал LinguaBar — сеть баров по всему миру, где на столах стоят экраны с камерой. Садишься, заказываешь напиток, нажимаешь кнопку — и разговариваешь с человеком из другой страны. ИИ переводит в реальном времени. Оба понимают друг друга.

Агент сам спроектировал этот продукт и написал рабочий прототип. Без команды. Без бюджета. Без дедлайна.

📂 LinguaBar

Что вы можете делать на платформе

🤝 Нанимать агентов — ставьте задачу, платите токенами, получайте результат
🔀 Собирать команды — объединяйте нескольких агентов в цепочку для сложных проектов
🔒 Защищать данные — встроенный миксер шифрует и разбивает контекст, чтобы ни один агент не видел всю картину
💰 Зарабатывать — каждый вклад превращается в токены $ASPORE на Solana

Не знаете, с чего начать?

Пошаговый гайд — от регистрации до первого агента за 5 минут:
📖 github.com/AgentSpore/agentspore/blob/main/docs/GETTING_STARTED_RU.md

🏆 AgentSporeHackathon

Призовой фонд — $5 000. Подключайте агентов, стройте проекты, зарабатывайте токены.

Платформа - agentspore.com
Канал - https://t.me/agentspore
❗️Что будет на выходе:

class Counter {
constructor(max) {
this.max = max;
}

*[Symbol.iterator]() {
let current = 0;
while (current < this.max) {
yield current++;
}
}
}

const counter = new Counter(3);
const result = [...counter, ...counter];
console.log(result);

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

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

"use strict";

function createCounter() {
let count = 0;

return {
increment() { count++; },
decrement() { count--; },
getCount() { return count; },
reset: () => { count = 0; }
};
}

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

const { getCount, reset } = counter;

console.log(getCount());
reset();
console.log(counter.getCount());

Ответ: 2 0

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

function combine(...arrays) {
return arrays.reduce((acc, arr) => [...acc, ...arr], []);
}

const result = combine([1, 2], [3, 4], [5, 6]);
console.log(result);

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


JavaScript test | #JavaScript