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

Ссылка: @Portal_v_IT

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

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

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

let obj = { name: 'Sarah', age: 25 };
let weakMap = new WeakMap();
let map = new Map();

weakMap.set(obj, 'weak reference');
map.set(obj, 'strong reference');

console.log(weakMap.has(obj));
console.log(map.has(obj));

obj = null;

console.log(weakMap.has(null));
console.log(map.has(null));
console.log(map.size);

Ответ: true true false false 1

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

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
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const target = { name: 'Sarah', age: 25 };
const handler = {
get(obj, prop) {
if (prop === 'toString') {
return () => `Person: ${obj.name}`;
}
return Reflect.get(obj, prop);
},
has(obj, prop) {
return prop !== 'age' && Reflect.has(obj, prop);
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.name);
console.log('age' in proxy);
console.log(proxy.toString());

Ответ: Sarah false Person: Sarah

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы тут ChatGPT с Midjoney обьединили и в телеграм интегрировали!

Бот подключен сразу к двум нейросетям и буквально за секунду сгенерирует любой ваш запрос. Вы найдете его в закрепе канала Нейрофлоу | VEO 3.1 | ChatGPT 5, где ежедневно публикуются обновления и новости связанные с нейросетями

Самое вкусное в закрепе - Нейрофлоу | VEO 3.1 | ChatGPT 5
❗️Что будет на выходе:

const obj = {};
obj.length = 5;
console.log(obj.length);

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const array = [1, 2, 3, 4];
const result = array.reduceRight((acc, val) => acc - val);

console.log(result);

Ответ: -2

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

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
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const user = {
profile: {
settings: {
theme: 'dark',
notifications: null
}
}
};

const result1 = user?.profile?.settings?.theme;
const result2 = user?.profile?.settings?.notifications?.email;
const result3 = user?.profile?.preferences?.language ?? 'en';
const result4 = user?.profile?.settings?.notifications?.push?.('test');

console.log(result1, result2, result3, result4);

Ответ: dark undefined en undefined

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const original = {
name: 'Sarah',
hobbies: ['reading', 'coding'],
address: { city: 'Portland', zip: 97201 }
};

const shallow = { ...original };
const deep = JSON.parse(JSON.stringify(original));

shallow.name = 'Emma';
shallow.hobbies.push('hiking');
shallow.address.city = 'Seattle';

deep.hobbies.push('swimming');
deep.address.zip = 98101;

console.log(original.hobbies.length, original.address.city);

Ответ: 3, Seattle

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

var str="My name is John";
var words1=str.split(" ",3);
console.log("words1:",words1);
var words2=str.split(" ",5);
console.log("words2:",words2);

Ответ:
words1:[ 'My', 'name', 'is' ]
words2:[ 'My', 'name', 'is', 'John' ]


JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

class SimpleObservable {
constructor(subscribeFn) {
this.subscribeFn = subscribeFn;
}

subscribe(observer) {
return this.subscribeFn(observer);
}
}

const obs = new SimpleObservable(observer => {
observer.next('first');
observer.next('second');
observer.complete();
});

const results = [];
obs.subscribe({
next: val => results.push(val),
complete: () => results.push('done')
});

console.log(results.join('-'));

Ответ: first-second-done

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

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

const numbers = [1, 2, 3, 4, 5];

const result = numbers
.map(n => n * 2)
.filter(n => n > 5)
.reduce((acc, n, index) => {
acc.sum += n;
acc.indices.push(index);
return acc;
}, { sum: 0, indices: [] });

console.log(result.sum);
console.log(result.indices);

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

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

const user = {
name: 'Sarah',
age: 25,
getName() { return this.name; },
getAge: () => this.age
};

const methods = {
regular: user.getName,
arrow: user.getAge
};

console.log(methods.regular());
console.log(methods.arrow());
console.log(user.getName());
console.log(user.getAge());

Ответ: undefined undefined Sarah undefined

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️ Команде российских хакеров удалось взломать систему безопасности ChatGPT

Всего в несколько хитрых промтов вы можете:

• ПОЛНОСТЬЮ снять любую цензуру с ChatGPT
• получить ПОЖИЗНЕННЫЙ бесплатный доступ к ChatGPT Pro и ChatGPT 5.1
• использовать ИИ для поиска ЛЮБОЙ информации: от номера телефона до геолокации конкретного человека.

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

Сохраняйте, пока есть доступ:
https://t.me/+gTxF_qGW8ucxNjcy
❗️Что будет на выходе:

const data = '{"users": [{"name": "Sarah", "age": 25}, {"name": "Mike", "age": null}]}';

try {
const parsed = JSON.parse(data);
const result = parsed.users.map(user => {
return user.age ?? 'unknown';
});
console.log(result.join(' - '));
} catch (error) {
console.log('Parse error occurred');
}

const invalidJson = '{"name": "John", age: 30}';
try {
JSON.parse(invalidJson);
console.log('Success');
} catch {
console.log('Invalid');
}

Ответ: 25 - unknown, Invalid

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

var arr=[1,2,3,4,5];
console.log(arr.map((prev,curr)=>prev+curr));
console.log(arr.reduce((a,b)=>a+b));
console.log(arr.filter((a,b)=> (a + b) <= 5));

Ответ: [ 1, 3, 5, 7, 9 ]
15
[ 1, 2, 3 ]


JavaScript test | #JavaScript
GitHub теперь в Telegram!

Самый прогерский канал, где за 10 минут ты научишься:

/ Пробив по фото и номеру в ТГ
// Как взломать вебку подруги
/// Мануал по OSINT разведке


Подписывайся, нас уже сотни тысяч: >@GitHub
❗️Что будет на выходе:

class Logger {
log(msg) {
return `[LOG]: ${msg}`;
}
}

class Formatter {
format(text) {
return text.toUpperCase();
}
}

class Service {
constructor(logger, formatter) {
this.logger = logger;
this.formatter = formatter;
}

process(data) {
const formatted = this.formatter.format(data);
return this.logger.log(formatted);
}
}

const service = new Service(new Logger(), new Formatter());
console.log(service.process('hello world'));

Ответ: [LOG]: HELLO WORLD

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

try {
try {
// Creating a custom error type
class CustomError extends Error {
constructor(message) {
super(message);
this.name = "CustomError";
}
}

const fn = () => {
throw new CustomError("Something went wrong");
};

try {
fn();
} catch (e) {
throw new TypeError("Type error occurred");
}
} catch (e) {
console.log(e instanceof Error, e.name, e instanceof TypeError);
}
} catch (e) {
console.log("Outer catch", e.message);
}

Ответ: true 'TypeError' true

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM