首页 > 解决方案 > 当您将对象的键设置为另一个对象时,键的类型是什么?

问题描述

在 JS 中,当您将对象的属性键设置为其他对象时,键是什么?它是以字符串形式对对象的内存引用吗?还有什么?

例子:

// Let's create some apples.
const apple1 = { tastes: 'great' };
const apple2 = { tastes: 'so-so' };

// Let's create an orchard to hold our apples, with constant time look-up for any individual apple, so we're not using an array. 
const orchard = {}

// And we add our first apple to the orchard. We want to keep track of some data.
orchard[apple1] = 1;
orchard[apple2] = 2;

此时console.logging orchard的keys会显示[object Object]。控制台记录键的类型将告诉您 [object Object] 是一个字符串。但是我可以有多个 [object Object] 键,它们都是不同的。

标签: javascript

解决方案


在 JavaScript 中,所有对象键都是字符串。

设置键时,如果值不是字符串,将在其上调用 .toString() 。


推荐阅读