JavaScript test
9.58K subscribers
3.12K photos
16 videos
4.81K links
Javascript и все что с ним связано

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc
Download Telegram
❗️Что будет на выходе?

function* genSequence() {
const result = yield 'first';
console.log(result);
yield* [1, 2];
return 'done';
}

const gen = genSequence();
let next = gen.next('ignored');
console.log(next.value);
next = gen.next('second');
next = gen.next();
console.log(next.value);
next = gen.next();
console.log(next);

Ответ: first second 2 { value: 'done', done: 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 str = " Hello, World! ";

const result = str
.trim()
.split(", ")
.map((word, i) => {
if (i % 2 === 0) return word.toUpperCase();
return word.toLowerCase().replace("!", "@");
})
.reverse()
.join(" | ");

console.log(result);

Ответ: world@ | HELLO

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

function outer() {
var x = 2;

function inner() {
let x = 4;

function deeper() {
console.log(x);
}

return deeper;
}

return inner();
}

const fn = outer();
fn();

Ответ: 4

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

function addCommas(money){
var re=/\d{3}(?!$)/g
return money.replace(re,x=>x+",")
}
console.log( addCommas("$123456789") )
console.log( addCommas("$123456") )
console.log( addCommas("$1234567890") )
console.log( addCommas("$1234567") )

Ответ:
$123,456,789
$123,456
$123,456,789,0
$123,456,7


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

function tricky() {
let a = 1;
let b = 2;
const result = (function(a) {
a = 3;
return a + b;
})(a);
return result;
}

console.log(tricky());

Ответ:
5


JavaScript test | #JavaScript & Max
Осталось 24 часа, чтобы забрать 👇🏼

- доступ к бесплатному интенсиву "Первые деньги на вайбкодинге" (старт уже завтра 7.04 в 19.00)

- уроки по программированию с нейронками

- 50 бесплатных нейросетей, чтобы кодить без остановки

- «Библиотека промптов для заработка на вайбкодинге», которые помогут упаковать портфолио и общаться с клиентами так, чтобы покупали

Все бонусы уже ждут тебя в закрытом канале по вайбкодингу👇

Вступить в закрытый канал
Вступить в закрытый канал
Вступить в закрытый канал
❗️Что будет на выходе:

async function getData() {
return Promise.resolve(1);
}

async function process() {
try {
const x = await getData();
const y = await Promise.resolve(x + 1);
console.log(y + await Promise.resolve(1));
} catch(err) {
console.log('Error');
}
}

process();

Ответ:
3

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

const nums = [1, 2, 3, 4];
const res = nums.reduce((acc, val) => acc + val, 2);
console.log(typeof res);

Ответ:
number


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

function trickyScope() {
let x = 10;
if (true) {
let x = 20;
console.log(x); // A
}
console.log(x); // B
{
let x = 30;
console.log(x); // C
}
console.log(x); // D
}

trickyScope();

Ответ: 20 10 30 10


JavaScript test | #JavaScript & Max
Лови список полезных IT каналов в Max 🇷🇺

Архиватор – крупная база слитых айти курсов по программированию

Сливакер – отобранный архив полезных курсов для программистов

Полка Разработчика – сборник книг для изучения Python, JS, Java и других языков программирования;

Записки Фронтендера -- опытный Frontend-разработчик собрал все самое основное

Записки Бэкендера -- а тут опытный Backend-разработчик подбирает самое полезное

Записки Питониста -- здесь думаю итак понятно, питонисты заходите

Code Learning – ютуб в мире программистов, сборник видео для обучения

Графика и Дизайн – сборник полезных курсов и видео для полного погружения в дизайн

Нейролента – публикуем самое актуальное из мира нейросетей

Windows Community -- все что связанно с Windows

DevHumor – все что выше, без юмора не понять

Находки Программиста – подбираем все самое нужно для программистов
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const counter = {
count: 0,
increment() {
this.count++;
return this.count;
}
};

const inc = counter.increment;
const boundInc = counter.increment.bind(counter);

console.log([
counter.increment(),
inc(),
boundInc(),
counter.count
]);

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

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

var str="abcdef";
console.log( str.match(/./g) )
console.log( str.match(/../g) )
console.log( str.match(/.../g) )

Ответ:
[ 'a', 'b', 'c', 'd', 'e', 'f' ]
[ 'ab', 'cd', 'ef' ]
[ 'abc', 'def' ]


JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
function processConfig(config) {
const cache = config.cache ?? true;
const timeout = config.timeout ?? 1000;
const retries = config.retries ?? 3;

return {
useCache: cache,
timeoutMs: timeout,
maxRetries: retries
};
}

const result = processConfig({ timeout: 0, retries: false });
console.log(result);


Ответ: { useCache: true, timeoutMs: 0, maxRetries: false }

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

const team = {
name: 'Eagles',
players: ['Smith', 'Johnson', 'Williams'],
coach: { name: 'Brown', experience: 12 },
stats: { wins: 10, losses: 6 }
};

const {
name: teamName,
players: [firstPlayer, , thirdPlayer],
coach: { name },
stats: { wins, draws = 0 }
} = team;

console.log(`${teamName}-${firstPlayer}-${thirdPlayer}-${name}-${wins}-${draws}`);

Ответ:
Eagles-Smith-Williams-Brown-10-0

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

const ws = new WeakSet();
const obj1 = { name: 'first' };
const obj2 = { name: 'second' };
const obj3 = obj1;

ws.add(obj1);
ws.add(obj2);
ws.add(obj3);

console.log(ws.has(obj1));
console.log(ws.has(obj3));
console.log(ws.has({ name: 'first' }));
console.log(ws.size);

Ответ: true true false undefined

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

const person = {
name: 'Alice',
greet() {
return `Hello, I'm ${this.name}`;
},
farewell: () => `Goodbye from ${this.name}`
};

const greetFn = person.greet;
const farewellFn = person.farewell;

console.log(person.greet());
console.log(greetFn());
console.log(farewellFn());


Ответ: Hello, I'm Alice Hello, I'm undefined Goodbye from undefined

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

const sum = numbers.reduce((acc, curr) => {
setTimeout(() => {
acc += curr;
}, 0);
return acc;
}, 0);

console.log(sum);

Ответ: 0

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

function processData(data) {
try {
if (!data) {
throw new TypeError('Data is required');
}

if (data.status === 'error') {
throw new Error('Invalid status');
}

return data.value.toUpperCase();
} catch (err) {
if (err instanceof TypeError) {
return 'Type Error';
}
return err.message;
}
}

console.log(processData({ status: 'error', value: 'test' }));

Ответ:
Invalid status


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

const target = { a: 1, b: 2 };
const handler = {
get(obj, prop) {
return prop === 'sum' ? obj.a + obj.b : Reflect.get(obj, prop);
},
set(obj, prop, value) {
if (prop === 'a' && value < 0) {
return false;
}
return Reflect.set(obj, prop, value);
}
};

const proxy = new Proxy(target, handler);
proxy.a = -5;
proxy.b = 10;
console.log(`${proxy.a}, ${proxy.b}, ${proxy.sum}`);

Ответ: 1, 10, 11

JavaScript test | #JavaScript & Max