我现在正在学习Typescript,并且在理解文档的某些部分时遇到一些问题。请参阅typescript.lang手册
上的代码let pets = new Set(["Cat", "Dog", "Hamster"]);
pets["species"] = "mammals";
for (let pet in pets) {
console.log(pet); // "species"
}
for (let pet of pets) {
console.log(pet); // "Cat", "Dog", "Hamster"
}
我不明白为什么Set可以设置像'物种'宠物[“物种”] =“哺乳动物”这样的关键。我认为Set默认不是键值特性?
为什么(让宠物的宠物)是“猫”,“狗”,“仓鼠”没有“哺乳动物”
请帮忙描述一下。非常感谢
答案 0 :(得分:1)
Set是一个可迭代对象,初始数组是可迭代的值,这就是为什么你可以通过for..of访问它们的原因。当你说pets["species"]= "mamals"
你正在创建一个属性“物种”,其值为“mamals”,但这不是可迭代值的一部分,这就是为什么你在使用for..in时可以看到它。
for..of将显示iterable的值,而for..in将显示对象的属性。我希望这有帮助