javascript - 当您将对象的键设置为另一个对象时,键的类型是什么?
问题描述
在 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 中,所有对象键都是字符串。
设置键时,如果值不是字符串,将在其上调用 .toString() 。
推荐阅读
- c++ - 将模板结构的对象传递给另一个模板类的成员函数
- c++ - 我如何在 turbo c++ 中编写一个程序来告诉三角函数的值(如 sin30、sin45)?
- scala - 使用流与参与者进行周期性任务
- javascript - 跟踪在 javascript 中提交的动态锚标记
- javascript - VuetifyJS 日期选择器不正确的日期值
- c++ - 这两行指针是如何执行的?
- cuda - CUDA 图形流捕获与thrust::reduce
- sql - 动态转置表格结果
- angular - Angular SSR 服务器端渲染页面仍然调用客户端 javascript 渲染并终止页面性能
- java - 不显示通知