❗️Что будет на выходе:
Ответ:10 26 missing:ghost true false
JavaScript test | #JavaScript & Max
const handler = {
get(target, prop, receiver) {
if (prop in target) {
return Reflect.get(target, prop, receiver) * 2;
}
return `missing:${prop}`;
},
set(target, prop, value) {
if (typeof value !== "number") {
throw new TypeError("Only numbers allowed");
}
Reflect.set(target, prop, value + 10);
return true;
},
has(target, prop) {
return prop.startsWith("x") ? false : prop in target;
},
};
const store = new Proxy({ xray: 5, zoom: 8 }, handler);
store.nova = 3;
console.log(store.xray);
console.log(store.nova);
console.log(store.ghost);
console.log("zoom" in store);
console.log("xray" in store);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:-256 38
JavaScript test | #JavaScript & Max
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);
const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x ** 2;
const negate = x => -x;
const composed = compose(negate, square, addTen, double);
const piped = pipe(negate, square, addTen, double);
const val = 3;
console.log(composed(val)); // compose: right-to-left
console.log(piped(val)); // pipe: left-to-right
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:true true false true true
JavaScript test | #JavaScript & Max
class Session {
#id;
constructor(id) {
this.#id = id;
}
getId() {
return this.#id;
}
}
const activeSessions = new WeakSet();
const s1 = new Session("alpha");
const s2 = new Session("beta");
let s3 = new Session("gamma");
activeSessions.add(s1);
activeSessions.add(s2);
activeSessions.add(s3);
console.log(activeSessions.has(s1));
console.log(activeSessions.has(s3));
activeSessions.delete(s2);
console.log(activeSessions.has(s2));
try {
activeSessions.add("invalid");
} catch (e) {
console.log(e instanceof TypeError);
}
console.log(activeSessions.has(s1));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:20 90 true false 240
JavaScript test | #JavaScript & Max
const handler = {
get(target, prop, receiver) {
if (prop in target) {
return Reflect.get(target, prop, receiver) * 2;
}
return Reflect.get(target, prop, receiver);
},
set(target, prop, value, receiver) {
if (typeof value !== "number") return false;
return Reflect.set(target, prop, value * 3, receiver);
},
has(target, prop) {
return prop.startsWith("x") && Reflect.has(target, prop);
},
};
const obj = new Proxy({ x1: 10, y1: 20 }, handler);
obj.x2 = 15;
obj.y2 = 40;
console.log(obj.x1);
console.log(obj.x2);
console.log("x1" in obj);
console.log("y1" in obj);
console.log(obj.y2);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:5 A:1 B:11
JavaScript test | #JavaScript & Max
function* range(start, end) {
while (start < end) {
yield start++;
}
}
function* labeled(prefix, gen) {
for (const val of gen) {
yield `${prefix}:${val}`;
}
}
function* pipeline() {
yield* labeled("A", range(1, 4));
yield* labeled("B", range(10, 12));
}
const results = [...pipeline()];
console.log(results.length, results[0], results[results.length - 1]);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1998 Toyota Supra 4 true true
JavaScript test | #JavaScript & Max
function Vehicle(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
this.describe = function () {
return `${this.year} ${this.make} ${this.model}`;
};
}
Vehicle.prototype.age = function (currentYear) {
return currentYear - this.year;
};
const car = new Vehicle("Toyota", "Supra", 1998);
const truck = new Vehicle("Ford", "Raptor", 2021);
console.log(car.describe());
console.log(truck.age(2025));
console.log(car.constructor === Vehicle);
console.log(Object.getPrototypeOf(car) === Vehicle.prototype);
Ответ:
JavaScript test | #JavaScript & Max
Forwarded from Находки Программиста
Цена: ~6500₽
Рейтинг: 4.8
Отзывов: 503
Портативный монитор 15.6" с IPS FHD (1920×1080) и Ultra HDR обеспечивает яркое и четкое изображение с широкими углами обзора. Оснащен матовым антибликовым экраном, защитой зрения Low Blue Light и Flicker-Free. Тонкий (8.9 мм) и легкий (697 г), комплектуется чехлом-подставкой. Подключается через USB-C и mini HDMI, совместим с ноутбуками, ПК, смартфонами, PS5, Xbox и Nintendo Switch. Поддерживает режимы дублирования и расширения экрана, работает по Plug & Play без установки драйверов.
#монитор #laptomo
Еще товары: Находки Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:
Ответ:13 [ 13, 16, 13 ]
JavaScript test | #JavaScript & Max
function makeCounter(start = 0, step = 1) {
let count = start;
const history = [];
return {
increment() {
count += step;
history.push(count);
return this;
},
decrement() {
count -= step;
history.push(count);
return this;
},
getHistory: () => history,
getCount: () => count,
};
}
const counter = makeCounter(10, 3);
counter.increment().increment().decrement();
console.log(counter.getCount());
console.log(counter.getHistory());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:true
6 9
JavaScript test | #JavaScript & Max
var a = 0, b = 0, arr = [3, 6, 9, 6, 9, 3];
var data = arr.some((x, i)=>{
a = arr[i];
b = arr[i + 1];
return a + b == 15
})
console.log(data)
console.log(a, b)
Ответ:
6 9
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:true true false false 1
JavaScript test | #JavaScript & Max
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);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:[2, 4, 6]
JavaScript test | #JavaScript & Max
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);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:3
JavaScript test | #JavaScript & Max
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);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1, 5, 3, 4, 2
JavaScript test | #JavaScript & Max
console.log(1);
setTimeout(() => console.log(2), 0);
Promise.resolve()
.then(() => {
console.log(3);
return Promise.resolve(4);
})
.then(console.log);
console.log(5);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:Script Start, Async Start, Script End, Timeout 1, Async End, Timeout 2
JavaScript test | #JavaScript & Max
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');
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:
words1:[ 'My', 'name', 'is' ]
words2:[ 'My', 'name', 'is', 'John' ]
JavaScript test | #JavaScript & Max
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 & Max
❗️Что будет на выходе:
Ответ:first-second-done
JavaScript test | #JavaScript & Max
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('-'));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:2
JavaScript test | #JavaScript & Max
function createCounter() {
let count = 0;
function increment() {
count++;
return count;
}
function decrement() {
count--;
return count;
}
return { increment, decrement, reset: () => count = 0 };
}
const counter = createCounter();
counter.increment();
counter.increment();
counter.decrement();
const { increment, reset } = counter;
increment();
reset();
increment();
console.log(counter.increment());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:David
JavaScript test | #JavaScript & Max
function Person(name) {
this.name = name;
this.sayName = () => console.log(this.name);
}
const person1 = new Person('David');
const person2 = { name: 'Not David', sayName: person1.sayName };
person2.sayName();
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:25 - unknown, Invalid
JavaScript test | #JavaScript & Max
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');
}
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:25 - unknown, Invalid
JavaScript test | #JavaScript & Max
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');
}
Ответ:
JavaScript test | #JavaScript & Max