Почему квадратные скобки необходимы для stringify всех элементов карты в Javascript?
проблема: Я не могу найти удовлетворительного объяснения того, почему карты javascript нуждаются в квадратных скобках для JSON.метод stringify для "достижения" (?) во вложенные элементы. Я думаю, что мне не хватает чего-то в ES6 или чего-то, присущего типу данных карты.
Я могу преобразовать карту в объект и stringify-но почему этот дополнительный шаг необходим?
мой опыт:
const blah = new Map();
blah.set('u', {
'something': [{'hey':98}, 56, 'bob']
});
blah.set({
'hey': {'hey': 78}
}, 'what?');
console.log(JSON.stringify(...blah));
//["u",{}]
//I thought this would yield the result of the below console.log
console.log(JSON.stringify([...blah]))
//[["u",{"something":[{"hey":98},56,"bob"]}],[{"hey":{"hey":78}},"what?"]]
//Why are the square brackets needed to stringify and display each element of
//the map?
этой статьи подтверждает поведение, но не объясните, почему это происходит.