❗️Что будет на выходе:
Ответ:Error: 31 is not a valid age Developer
JavaScript test | #JavaScript
const user = {
name: 'Alice',
age: 30
};
const handler = {
get(target, prop) {
if (prop in target) {
return target[prop];
}
return `Property '${prop}' doesn't exist`;
},
set(target, prop, value) {
if (prop === 'age' && typeof value !== 'number') {
console.log(`Error: ${value} is not a valid age`);
return false;
}
target[prop] = value;
return true;
}
};
const userProxy = new Proxy(user, handler);
userProxy.age = '31';
userProxy.job = 'Developer';
console.log(userProxy.job);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[1, 2, 3, 4], [1, 2, 3, 4]
JavaScript test | #JavaScript
const original = Object.freeze({ a: [1, 2, 3] });
const copy = { ...original };
copy.a.push(4);
console.log(original.a);
console.log(copy.a);Ответ:
❗️Что будет на выходе:
Ответ:Type error occured
JavaScript test | #JavaScript
function process(data) {
try {
if (!data) {
throw new TypeError('No data provided');
}
if (Array.isArray(data)) {
return data.map(item => item * 2);
}
if (typeof data === 'object') {
return Object.keys(data);
}
return data.toString();
} catch (error) {
if (error instanceof TypeError) {
return 'Type error occurred';
}
return 'Unknown error';
}
}
console.log(process(null));Ответ:
❗️Что будет на выходе:
Ответ:number
JavaScript test | #JavaScript
var a = ( function a() {
return '1';
},
function b() {
return 2;
})()
alert(typeof a)Ответ:
❗️Что будет на выходе:
Ответ:true 'Rex barks.' 'Rover makes a noise.' true
JavaScript test | #JavaScript
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function() {
return `${this.name} makes a noise.`;
};
function Dog(name) {
Animal.call(this, name);
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
return `${this.name} barks.`;
};
const animal = new Animal('Rover');
const dog = new Dog('Rex');
console.log(dog instanceof Animal, dog.speak(), animal.speak(), Dog.prototype.isPrototypeOf(dog));Ответ:
❗️Что будет на выходе:
Ответ:5 20 30 20
JavaScript test | #JavaScript
function processData({ a = 10, b = 20 } = { a: 30 }) {
console.log(a, b);
}
processData({ a: 5 });
processData();Ответ:
Forwarded from Русский Уолл-стрит
ЦБ РФ может понизить ключевую ставку до 17% уже к концу этого года. Такой прогноз дал в интервью Reuters первый зампред правления Сбера Александр Ведяхин. Резкого снижения ставки ждать не стоит, ведь, по его словам, есть риск того, что инфляция снова пойдёт вверх.
Александр Ведяхин считает, что снижение ставки с 21 до 20% существенно не влияет на экономику. Скорее, это хороший психологический сигнал и знак возможного возобновления инвестиционного цикла и инвестиционных кредитов. @streetwall
Александр Ведяхин считает, что снижение ставки с 21 до 20% существенно не влияет на экономику. Скорее, это хороший психологический сигнал и знак возможного возобновления инвестиционного цикла и инвестиционных кредитов. @streetwall
❗️Что будет на выходе:
Ответ:I have been coding in <span>JavaScript</span> for <span>10</span> years
JavaScript test | #JavaScript
function highlight(strings, ...values) {
return strings.reduce((result, str, i) => {
const value = values[i] ? `<span>${values[i]}</span>` : '';
return result + str + value;
}, '');
}
const language = 'JavaScript';
const years = 10;
const result = highlight`I have been coding in ${language} for ${years} years`;
console.log(result);Ответ:
❗️Что будет на выходе:
Ответ:Start, Outside, Inside, Promise, End
JavaScript test | #JavaScript
async function foo() {
console.log('Start');
await Promise.resolve().then(() => {
console.log('Inside Promise');
});
console.log('End');
}
foo();
console.log('Outside');Ответ:
❗️Что будет на выходе:
Ответ:[true, true]
JavaScript test | #JavaScript
const weakMap = new WeakMap();
const array = [{}, {}];
array.forEach(obj => weakMap.set(obj, obj));
const result = array.map(obj => weakMap.get(obj) === obj);
console.log(result);
Ответ:
❗️Что будет на выходе:
Ответ:2
JavaScript test | #JavaScript
function createCounter() {
let count = 0;
return {
increment() {
count++;
return count;
},
decrement() {
count--;
return count;
},
getValue() {
return count;
}
};
}
const counter1 = createCounter();
const counter2 = createCounter();
counter1.increment();
counter1.increment();
counter2.increment();
counter1.decrement();
console.log(counter1.getValue() + counter2.getValue());Ответ:
❗️Что будет на выходе:
Ответ:An array of 5 random true/false values
JavaScript test | #JavaScript
const array = Array.from({ length: 5 }, () => Math.random() > 0.5);
console.log(array);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:['Book', 'Laptop']
JavaScript test | #JavaScript
class ShoppingCart {
constructor() {
if (ShoppingCart.instance) {
return ShoppingCart.instance;
}
this.items = [];
ShoppingCart.instance = this;
}
addItem(item) {
this.items.push(item);
}
getItems() {
return [...this.items];
}
}
const cart1 = new ShoppingCart();
const cart2 = new ShoppingCart();
cart1.addItem('Book');
cart2.addItem('Laptop');
console.log(cart1.getItems());Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:2, 1
JavaScript test | #JavaScript
const sym = Symbol('unique');
const obj = {
[sym]: 'symbol value',
a: 1,
b: 2
};
const keys = Object.keys(obj);
const symbols = Object.getOwnPropertySymbols(obj);
console.log(keys.length, symbols.length);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:[Promise, Promise, Promise, Promise, Promise]
JavaScript test | #JavaScript
const array = [1, 2, 3, 4, 5];
const result = array.map(num => Promise.resolve(num * 2));
console.log(result);
Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:string
JavaScript test | #JavaScript
let x = 5;
let result = typeof (x + "10");
console.log(result);
Ответ:
JavaScript test | #JavaScript
Маркетинг за 4 дня: бесплатно!
Зарплата начинающего маркетолога от 70 000₽, а стоимость обучения на профессию в онлайн-школах основам от 120 000 до 250 000 рублей.
Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.
Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 19 мая: https://go.avnxt.site/8b2d902d157e1120?erid=2VfnxxcSezk&m=1
Зарплата начинающего маркетолога от 70 000₽, а стоимость обучения на профессию в онлайн-школах основам от 120 000 до 250 000 рублей.
Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.
Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 19 мая: https://go.avnxt.site/8b2d902d157e1120?erid=2VfnxxcSezk&m=1
❗️Что будет на выходе:
Ответ:hidden exposed
JavaScript test | #JavaScript
const handler = {
get(target, prop, receiver) {
if (prop === 'secret') {
return Reflect.get(...arguments) + ' exposed';
}
return Reflect.get(...arguments);
}
};
const secretObj = { secret: 'hidden', reveal: 'nothing' };
const proxy = new Proxy(secretObj, handler);
console.log(proxy.secret);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ: Hello world, 10 times !
JavaScript test | #JavaScript
const templateFn = (strings, ...values) => {
return strings.reduce((result, str, i) => {
const value = values[i] !== undefined ?
(typeof values[i] === 'number' ? values[i] * 2 : values[i]) : '';
return result + str + value;
}, '');
};
const num = 5;
const str = 'world';
const result = templateFn`Hello ${str}, ${num} times ${'!'}`;
console.log(result);Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:{ timeout: 0, retries: 3, logging: false, debug: true }
JavaScript test | #JavaScript
function processConfig(config) {
const settings = {
timeout: config.timeout ?? 1000,
retries: config.retries ?? 3,
logging: config.logging ?? false,
debug: config.debug || true
};
return settings;
}
const userConfig = {
timeout: 0,
retries: null,
logging: false,
debug: false
};
console.log(processConfig(userConfig));Ответ:
JavaScript test | #JavaScript
❗️Что будет на выходе:
Ответ:0, 3
JavaScript test | #JavaScript
let arr = [1];
arr.length = 4;
arr[3] = 2;
for (let i in arr) {
console.log(i);
}
Ответ:
JavaScript test | #JavaScript