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 | ChatGPT | #JavaScript
console.log(MyClass); class MyClass { constructor() { this.value = 42; } }Ответ: Error JavaScript test | ChatGPT | #JavaScript
function* gen() { yield* [1, 2, 3].map(x => x * 2); } const iterator = gen(); console.log(iterator.next().value); console.log(iterator.next().value); console.log(iterator.next().value); console.log(iterator.next().value);Ответ: 2, 4, 6, undefined JavaScript test | ChatGPT | #JavaScript
async function process() { console.log('Start'); await new Promise(resolve => setTimeout(resolve, 0)); console.log('Middle'); return 'Done'; } process().then(result => console.log(result)); console.log('End');Ответ: Start, End, Middle, Done JavaScript test | ChatGPT | #JavaScript
const obj = Object.freeze({ a: [1, 2, 3], b: { c: 4 } }); obj.a.push(4); obj.b.c = 5; console.log(obj.a); console.log(obj.b.c);Ответ: [1, 2, 3, 4], 5 JavaScript test | ChatGPT | #JavaScript
function outer() { var x = 1; function inner() { var x = 2; function deeper() { console.log(x); } return deeper; } return inner(); } const fn = outer(); fn();Ответ: 2 JavaScript test | ChatGPT | #JavaScript
reduceМетод
reduceприменяется для агрегации значений в массиве. В этом примере, мы используем
reduceдля вычисления суммы чисел. JavaScript test | ChatGPT | #JavaScript
let num = 5; function change() { let num = 10; return function() { return num; }; } const getValue = change(); num = 20; console.log(getValue());Ответ: 10 JavaScript test | ChatGPT | #JavaScript
async function asyncChain() { const values = [2, 3, 5, 7, 11]; const total = await values.reduce(async (acc, values) => { const current = await acc; return current * value; }, Promise.resolve(1)); return total; } asyncChain().then(result => console.log(result));Ответ: 2310 JavaScript test | ChatGPT | #JavaScript
const obj = { num: 10, getValue() { return this.num; }, getUpdatedValue() { return (() => this.num + 10)(); } }; console.log(obj.getValue()); console.log(obj.getUpdatedValue());Ответ: 10, 20 JavaScript test | ChatGPT | #JavaScript
const obj = { value: 1, increment() { this.value++; } }; const increment = obj.increment; increment(); console.log(obj.value);Ответ: 1 JavaScript test | ChatGPT | #JavaScript
function printNumbers() { for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 100); } } printNumbers();Ответ: 5, 5, 5, 5, 5 JavaScript test | ChatGPT | #JavaScript
const numbers = [1, 2, 3, 4, 5]; const asyncSum = async () => { let sum = 0; for (const num of numbers) { await new Promise(resolve => setTimeout(resolve, 1000)); sum += num; } return sum; }; asyncSum().then(result => console.log(result));Ответ: 15 JavaScript test | ChatGPT | #JavaScript
const promise1 = Promise.resolve(5); const promise2 = 42; consr promise3 = new Promise((resolve, reject) => { setTimeout(resolve, 100, 'foo'); }); Promise.all([promise1, promise2, promise3]) .then(values => console.log(values))Ответ: [5, 42, 'foo'] JavaScript test | ChatGPT | #JavaScript
const value = 10; const add = () => { return { value: 20, getValue: function () { return this.value; } }; }; const result = add().getValue(); console.log(result);Ответ: 20 JavaScript test | ChatGPT | #JavaScript
const arr = [1, 2, 3, 4, 5]; function foo(arr) { const newArr = arr.filter((item) => item % 2 === 0).map((item) => item * 2); return newArr.reduce((acc, item) => acc + item, 0); } console.log(foo(arr));Ответ: 12 JavaScript test | ChatGPT | #JavaScript
const numbers = [2, 4, 6, 8, 10]; const oddIndices = numbers.filter((_, index) => index % 2 === 1); const sum = oddIndices.reduce((acc, value) => acc + value, 0); console.log(sum);Ответ: 12 JavaScript test | ChatGPT | #JavaScript
const obj = { data: [1, 2, 3], getData() { return this.data.map(x => x * 2); } }; const newData = obj.getData.bind({ data: [4, 5, 6] })(); console.log(newData);Ответ: [8, 10, 12] JavaScript test | ChatGPT | #JavaScript
reduceМетод
reduceприменяется для агрегации значений в массиве. В этом примере, мы используем
reduceдля вычисления суммы чисел. JavaScript test | ChatGPT | #JavaScript
const obj = { count: 0, increment() { this.count++; }, getCount() { return (() => this.count)(); } }; obj.increment(); obj.increment(); console.log(obj.getCount());Ответ: 2 JavaScript test | ChatGPT | #JavaScript
var a = 'b'; var b = 'c'; (function () { console.log(a); var a = 'd'; b = 'e'; console.log(b); })(); console.log(a); console.log(b);Ответ: undefined e b e JavaScript test | ChatGPT | #JavaScript
const obj = { value: 42, getValue() { return Math.max(this.value, 50); } }; const obj2 = { value: 25, getValue: obj.getValue }; console.log(obj.getValue()); console.log(obj2.getValue());Ответ: 50, 50 JavaScript test | ChatGPT | #JavaScript
const a = [1, 2, 3]; const b = a; b[0] = 0; console.log(a);Ответ: [0, 2, 3] JavaScript test | ChatGPT | #JavaScript
const obj = { a: 1, b: 2, getSum() { return this.a + this.b; } }; const cloneObj = { ...obj, getSum() { return this.b + this.a; } }; console.log(obj.getSum()); console.log(cloneObj.getSum());Ответ: 3 3 JavaScript test | ChatGPT | #JavaScript
function createCounter() { let count = 0; return { increment() { count++; return count; }, getCount() { return count; } }; } const counter = createCounter(); console.log(counter.increment()); console.log(counter.getCount()); console.log(counter.increment()); console.log(counter.getCount());Ответ: 1, 1, 2, 2 JavaScript test | ChatGPT | #JavaScript
const numbers = [0,0,0]; let i = 0; const result = numbers.reduce((acc, _) => { return ++acc; }, i); console.log(i, result);Ответ: 0 3 JavaScript test | ChatGPT | #JavaScript
const obj = { outer: 1, inner: { outer: 10, inner: 20 } }; let result = 0; with (obj) { result += outer; with (inner) { result += outer + inner; } } console.log(result);Ответ: 31 JavaScript test | ChatGPT | #JavaScript
const arr = [1,2,3]; arr[Symbol.iterator] = function*() { yield *[3,2,1]; }; for (const n of arr) { console.log(n); }Ответ: 3, 2, 1 JavaScript test | ChatGPT | #JavaScript
const a = { valueOf: function() { return this.x }, x: 1 }; const b = { valueOf: function() { return this.y }, y: 1 }; console.log(a + b);Ответ: 2 JavaScript test | ChatGPT | #JavaScript
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 | ChatGPT | #JavaScript
const arr = []; arr.length = 3; arr[2] = 1; arr.forEach((el, i) => console.log(i))Ответ: 2 JavaScript test | ChatGPT | #JavaScript