Javascript 为什么我不能将我的项目分配给我的对象';什么是常数?
我在chrome扩展中创建了一个对象,并在其中添加了一个常量Javascript 为什么我不能将我的项目分配给我的对象';什么是常数?,javascript,json,google-chrome-extension,Javascript,Json,Google Chrome Extension,我在chrome扩展中创建了一个对象,并在其中添加了一个常量 const myObj = {}; Object.defineProperty(myObj , "DATABASES", { value: {}, writable: true, configurable: true }); 然后我试着给那个常数加一个值 myObj.DATABASES["key1"] = new Set( { a: "aaaa", b: "bbbb" } ); 最后一行导致以下错误,我无法清楚地知道语句
const myObj = {};
Object.defineProperty(myObj , "DATABASES", { value: {}, writable: true, configurable: true });
然后我试着给那个常数加一个值
myObj.DATABASES["key1"] = new Set(
{ a: "aaaa", b: "bbbb" }
);
最后一行导致以下错误,我无法清楚地知道语句的哪一部分有问题:
未捕获类型错误:对象不可iterable(无法读取属性符号(Symbol.iterator))
有人能告诉我最后一部分出了什么问题吗?
Set
需要一个像array这样的iterable对象,而你要给它传递一个对象:我用Clarity的链接更正了语法。应按以下方式进行:
myObj.DATABASES["key1"] = new Set();
myObj.DATABASES["key1"].add({ a: "aaa", b: "bbbb" });
啊,我明白了。这不仅仅是在集合中添加一个项目!谢谢