❗️Что будет на выходе:
Ответ: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
❗️Что будет на выходе:
Ответ:1 88 undefined, 30 20 undefined
JavaScript test | #JavaScript & Max
const obj = { a: 1, b: { c: 2 } };
const frozen = Object.freeze(obj);
frozen.a = 99;
frozen.b.c = 88;
frozen.d = 77;
const sealed = Object.seal({ x: 10, y: 20 });
sealed.x = 30;
sealed.z = 40;
delete sealed.y;
console.log(obj.a, obj.b.c, obj.d);
console.log(sealed.x, sealed.y, sealed.z);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:TypeError: rectangle, area is not a function at line 13
JavaScript test | #JavaScript & Max
class Rectangle {
constructor(width, height) {
this.width = width;
this.height = height;
}
get area() {
return this.width * this.height;
}
}
const rectangle = new Rectangle(5, 10);
console.log(rectangle.area());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:20 20 [25, 60]
JavaScript test | #JavaScript & Max
const promise1 = Promise.resolve(10);
const promise2 = promise1.then(x => x * 2);
const promise3 = promise2.then(x => {
console.log(x);
return x + 5;
});
const promise4 = promise2.then(x => {
console.log(x);
return x * 3;
});
Promise.all([promise3, promise4]).then(results => {
console.log(results);
});
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:true 'TypeError' true
JavaScript test | #JavaScript & Max
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);
}
Ответ:
JavaScript test | #JavaScript & Max
Forwarded from Находки Программиста
Цена: ~1900₽
Рейтинг: 4.8
Отзывов: 3.552
Вертикальная беспроводная мышь с поддержкой Bluetooth 5.2, Bluetooth 3.0 и 2.4 ГГц. Эргономичная форма помогает снизить нагрузку на кисть во время долгой работы за компьютером, а возможность подключения к нескольким устройствам удобна для тех, кто переключается между рабочим ноутбуком, домашним ПК и планшетом.
#мышь #вертикальная
Больше товаров - Находки Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
❗️Что будет на выходе:
Ответ:Start First Error Finally Recovered
JavaScript test | #JavaScript & Max
async function processValues() {
try {
console.log('Start');
const a = await Promise.resolve('First');
console.log(a);
const b = await Promise.reject('Error');
console.log(b);
return 'Done';
} catch (err) {
console.log(err);
return 'Recovered';
} finally {
console.log('Finally');
}
}
processValues().then(result => console.log(result));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1 88 undefined, 30 20 undefined
JavaScript test | #JavaScript & Max
const obj = { a: 1, b: { c: 2 } };
const frozen = Object.freeze(obj);
frozen.a = 99;
frozen.b.c = 88;
frozen.d = 77;
const sealed = Object.seal({ x: 10, y: 20 });
sealed.x = 30;
sealed.z = 40;
delete sealed.y;
console.log(obj.a, obj.b.c, obj.d);
console.log(sealed.x, sealed.y, sealed.z);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:D C
JavaScript test | #JavaScript & Max
function mystery() {
try {
throw new Error('Oops');
return 'A';
} catch (err) {
return 'B';
} finally {
return 'C';
}
}
function wrapper() {
try {
return mystery();
} finally {
console.log('D');
}
}
console.log(wrapper());
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:20 15
JavaScript test | #JavaScript & Max
class EventEmitter {
constructor() {
this.events = {};
}
on(event, callback) {
this.events[event] = this.events[event] || [];
this.events[event].push(callback);
return this;
}
emit(event, data) {
if (this.events[event]) {
this.events[event].forEach(cb => cb(data));
}
return this;
}
}
const emitter = new EventEmitter();
emitter.on('test', x => console.log(x * 2))
.on('test', x => console.log(x + 5))
.emit('test', 10);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:Start First Error Finally Recovered
JavaScript test | #JavaScript & Max
async function processValues() {
try {
console.log('Start');
const a = await Promise.resolve('First');
console.log(a);
const b = await Promise.reject('Error');
console.log(b);
return 'Done';
} catch (err) {
console.log(err);
return 'Recovered';
} finally {
console.log('Finally');
}
}
processValues().then(result => console.log(result));
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:undefined
JavaScript test | #JavaScript & Max
const obj = {
x: 10,
foo() {
setTimeout(function() {
console.log(this.x);
}, 1000);
}
};
obj.foo();
Ответ:
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
❗️Что будет на выходе:
Ответ:20 20 [25, 60]
JavaScript test | #JavaScript & Max
const promise1 = Promise.resolve(10);
const promise2 = promise1.then(x => x * 2);
const promise3 = promise2.then(x => {
console.log(x);
return x + 5;
});
const promise4 = promise2.then(x => {
console.log(x);
return x * 3;
});
Promise.all([promise3, promise4]).then(results => {
console.log(results);
});
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:9
JavaScript test | #JavaScript & Max
const obj = { a: 1, b: 2, c: 3 };
Object.defineProperty(obj, 'd', {
value: 4,
enumerable: false
});
const entries = Object.entries(obj);
const keys = Object.keys(obj);
const values = Object.values(obj);
console.log(entries.length + keys.length + values.length);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:1, 6, 4, 5, 3, 2
JavaScript test | #JavaScript & Max
console.log(1);
setTimeout(() => {
console.log(2);
}, 100);
setTimeout(() => {
console.log(3);
}, 0);
Promise.resolve().then(() => {
console.log(4);
}).then(() => {
console.log(5);
});
console.log(6);
Ответ:
JavaScript test | #JavaScript & Max
❗️Что будет на выходе:
Ответ:Maya TOKYO Property 'country' not found
JavaScript test | #JavaScript & Max
const target = { name: 'Maya', age: 25 };
const handler = {
get(obj, prop) {
if (prop in obj) {
return obj[prop];
}
return `Property '${prop}' not found`;
},
set(obj, prop, value) {
if (typeof value === 'string') {
obj[prop] = value.toUpperCase();
} else {
obj[prop] = value;
}
return true;
}
};
const proxy = new Proxy(target, handler);
proxy.city = 'tokyo';
console.log(proxy.name);
console.log(proxy.city);
console.log(proxy.country);
Ответ:
JavaScript test | #JavaScript & Max