const wMap = new WeakMap();
function foo() {
wMap.set(this, 1);
};
const bar = () => wMap.set(this, 2);
bar();
foo();
console.log(wMap.get(this));
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
JavaScript test
Проверка своих знаний по языку JavaScript.
Ссылка: @Portal_v_IT
Сотрудничество: @oleginc, @tatiana_inc
Канал на бирже: telega.in/c/js_test
РКН: clck.ru/3KHeYk
Ссылка: @Portal_v_IT
Сотрудничество: @oleginc, @tatiana_inc
Канал на бирже: telega.in/c/js_test
РКН: clck.ru/3KHeYk
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);
Ответ:
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();
Ответ:
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();Ответ:
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());
Ответ:
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(''));
Ответ:
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')
});
Ответ:
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();
Ответ:
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);
Ответ:
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));
Ответ:
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));
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
var foo = {};
var bar = Object.create(foo);
foo.a = 1;
console.log(bar.a);
Ответ:
JavaScript test | #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
В 2025 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.
Ловите полезные каналы, которые помогут ворваться в новое направление.
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')
});
Ответ:
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);
Ответ:
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);
Ответ:
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);
Ответ:
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');
Ответ:
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);
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM