Все объекты в JavaScript являются потомками Object; все объекты наследуют методы и свойства из прототипа объекта Object.prototype, хотя они и могут быть переопределены. Например, прототипы других конструкторов переопределяют свойство constructor и предоставляют свои собственные методы toString(). Изменения в объекте прототипа Object распространяются на все объекты до тех пор, пока свойства и методы, учитывающие эти изменения, не переопределяются дальше по цепочке прототипов.
function show() {console.log('show')}
show.wow = 'wowwow' // добавляем ключ к "объекту"
console.log(show) // текст функции *
console.log(show.wow) // wowwow
метод toString декомпилирует функцию и возвращает строку, включающую ключевое слово function, список аргументов, фигурные скобки и исходный код тела функции
Функция располагается в памяти по определенному адресу, который можно присвоить указателю в качестве его значения. Адресом функции является ее точка входа. Именно этот адрес используется при вызове функции. Так как указатель хранит адрес функции, то она может быть вызвана с помощью этого указателя. Он позволяет также передавать ее другим функциям в качестве аргумента.
const login = req.params.login;
models.User.findOne({
login
}).then(user => {
models.Post.find({
author: user.id // здесь?
})
function whatIsInAName(collection, source) {
return collection.filter(obj => {
console.log('\n', 'сейчас будем сравнивать', obj, source)
return Object.entries(source).every(([key, val]) => {
console.log('смотрим пару свойств в source ', key, val)
console.log('сравниваем ', obj[key], ' и ', val, ' | ' , obj[key] === val)
console.log('если true то в объекте есть такое свойство\n')
return obj[key] === val
})
})
}
whatIsInAName([{ "apple": 1, "bat": 2 }, { "apple": 1 }, { "apple": 1, "bat": 2, "cookie": 2 }, { "bat":2 }], { "apple": 1, "bat": 2 })
all = await fetch('https://api.superjob.ru/2.0/suggest/town/4/metro/all/')
data = await all.json()
data.objects.map(st => st.title).toString()
classList.contains будет искать только присутствие класса,
matches может выбирать по любому css селектору, то есть например element.matches('div > button.btn-class')