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

const wMap = new WeakMap();

function foo() {
wMap.set(this, 1);
};
const bar = () => wMap.set(this, 2);

bar();
foo();

console.log(wMap.get(this));

Ответ: 1

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

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

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
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:
const obj = {
name: 'Sarah',
greet: () => {
console.log(`Hello, ${this.name}`);
},
sayHi: function() {
const inner = () => {
console.log(`Hi, ${this.name}`);
};
inner();
}
};

obj.greet();
obj.sayHi();


Ответ: Hello, undefined Hi, Sarah

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

class LightMachine {
constructor() {
this.states = {
green: { next: 'yellow' },
yellow: { next: 'red' },
red: { next: 'green' }
};
this.currentState = 'green';
}

transition() {
this.currentState = this.states[this.currentState].next;
return this.currentState;
}
}

const lightMachine = new LightMachine();
let result = '';
for (let i = 0; i < 5; i++) {
result += lightMachine.transition() + ' ';
}
console.log(result.trim());

Ответ: yellow red green yellow red

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

function processData(input) {
try {
if (typeof input !== 'string') {
throw new TypeError('Input must be a string');
}

if (input.length === 0) {
throw new Error('Input cannot be empty');
}

return input.toUpperCase();
} catch (error) {
if (error instanceof TypeError) {
return `Type error: ${error.message}`;
}
return `Error: ${error.message}`;
}
}

console.log(processData(''));

Ответ: Error: Input cannot be empty

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

let symbol1 = Symbol('description');
let symbol2 = Symbol('description');

const obj = {
[symbol1]: 'value1',
[symbol2]: 'value2'
};

console.log(obj[symbol1]);
console.log(symbol1 === symbol2);

Ответ:
'value1' false


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

class Observable {
constructor(subscribe) {
this.subscribe = subscribe;
}

map(fn) {
return new Observable(observer => {
return this.subscribe({
next: value => observer.next(fn(value)),
error: err => observer.error(err),
complete: () => observer.complete()
});
});
}
}

const source = new Observable(observer => {
observer.next(1);
observer.next(2);
observer.complete();
});

const doubled = source.map(x => x * 2);
doubled.subscribe({
next: value => console.log(value),
complete: () => console.log('done')
});

Ответ: 2 4 done

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

var a = 5;
function test() {
console.log(a);
var a = 10;
console.log(a);
}

test();


Ответ: undefined 10

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

function plus(a,b){
console.log(`${a} + ${b} = ${a+b}`);
}
plus(1,2);
plus(3,4);

Ответ:
1 + 2 = 3
3 + 4 = 7


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

const obj = {
name: 'Sarah',
greet() {
return `Hello, ${this.name}`;
},
delayedGreet() {
const fn = function() {
return this.greet();
};
return fn.call(this);
}
};

const result = obj.delayedGreet();
console.log(result);

Ответ: Hello, Satah

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

class Calculator {
static multiply(a, b) {
return a * b;
}

static add = (a, b) => {
return a + b;
}
}

class ScientificCalculator extends Calculator {
static multiply(a, b) {
return super.multiply(a, b) * 2;
}
}

console.log(Calculator.multiply(3, 4));
console.log(ScientificCalculator.add(5, 6));
console.log(ScientificCalculator.multiply(2, 3));

Ответ: Hello, Satah

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

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

var foo = {};
var bar = Object.create(foo);

foo.a = 1;

console.log(bar.a);

Ответ: 1

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Программирование — В С Ё

В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.

Ловите полезные каналы, которые помогут ворваться в новое направление.

👍 ZeroDay — Уроки, эксплуатация уязвимостей с нуля
👍 Белый Хакер — Свежие новости из мира ИБ
😎 Арсенал Безопасника — Все необходимые инструменты
😎 Бункер Хакера — Статьи, книги, шпаргалки и хакинг
👨‍💻 Серверная Админа — Настройка и уроки по компьютерным сетям

📂 Вступай и изучай новое направление!
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:

class Observable {
constructor(subscriber) {
this.subscriber = subscriber;
}

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

map(fn) {
return new Observable(observer => {
return this.subscribe({
next: value => observer.next(fn(value)),
error: err => observer.error(err),
complete: () => observer.complete()
});
});
}
}

const source = new Observable(observer => {
observer.next(1);
observer.next(2);
observer.complete();
});

const doubled = source.map(x => x * 2);
doubled.subscribe({
next: value => console.log(value),
complete: () => console.log('done')
});

Ответ: 2 4 done

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

function* reverseGenerator(arr) {
for (let i = arr.length - 1; i >= 0; i--) {
yield arr[i];
}
}

const result = [...reverseGenerator([1, 2, 3, 4, 5])].join('');

console.log(result);

Ответ: "54321"

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

const a = 9007199254740991n;
const b = BigInt(9007199254740991);
const c = 9007199254740992;
const d = BigInt(9007199254740992);

console.log(a === b);
console.log(Number(a) === c);
console.log(c === Number.MAX_SAFE_INTEGER + 1);
console.log(d > a);
console.log(typeof (a + 1n));
console.log(Number(d) === c);

Ответ: true false true true bigint true

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

async function foo() {
console.log('Start');
await Promise.resolve().then(() => {
console.log('Inside Promise');
});
console.log('End');
}

foo();
console.log('Outside');

Ответ: Start, Outside, Inside, Promise, End

JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN 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