Я пытаюсь сопоставить экземпляр класса JavaScript URL с простым объектом и не могу понять, почему он не работает.
Я предполагаю, что это потому, что свойства не перечислимы, но мне не понятно, почему это так.
let input = 'https://www.google.com/index.html?bar=baz#foo'
let url = new URL(input)
console.log(url.origin)
console.log(url.protocol)
console.log(url.host)
console.log(url.pathname)
console.log(url.hash)
console.log(url.search)
let urlMap = Object.entries(url).reduce((map, [key, value]) => {
map[key] = value
return map
}, {})
console.log(urlMap) // returns {}
Это то, что я могу сделать?Моя цель состояла в том, чтобы составить свойства url следующим образом:
return { ...url, pathname: alteredPathname }