Напишите потом в комментариях к этому посту, сколько вы решили задач. Я лично решил 2 из 3 :)) Вот что бывает, если не повторять базу перед собесами.
1. Задача на контекст this. Что будет выведено в консоль? Как исправить данный пример, чтобы он корректно работал?
const database = {
filterId: 'active',
users: [
{
id: 'active',
label: 'Active',
},
{
id: 'inactive',
label: 'Inactive',
},
],
getUsers: function() {
return this.users.filter(function (user) {
return user.id === this.filterId
})
}
}
console.log(database.getUsers())
2. Задача на hoisting. Что будет выведено в консоль?
(function () {
f()
f = function() {
console.log(1)
}
})()
function f() {
console.log(2)
}
f()3. Задача на event loop. Что будет выведено в консоль? Будет ли блокироваться UI в таком случае?
sleep(2000).then(() => {
console.log(0)
})
console.log(1)
setTimeout(() => {
console.log(2)
})
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms)
})
}
console.log(5)
function myPromise() {
abc().then((val) => {
console.log(val)
return myPromise()
})
}
function abc() {
return new Promise((resolve) => {
resolve(6)
})
}
myPromise()