有什么方法可以检查Javascript变量的内存地址吗?

有什么方法可以检查Javascript变量的内存地址吗?,javascript,Javascript,在现代JavaScript中是否可以找到JavaScript变量的内存地址?或Typescript变量的地址 我对传递值和传递引用感到困惑,使用内存地址很容易理解现实。现在我们有了ES8和Typescript,但仍然无法获取变量和对象的内存地址。来自: 这或多或少是不可能的——Javascript的评估策略是始终使用按值调用,但在对象(包括数组)的情况下,传递的值是对对象的引用,而不是复制或克隆。如果在函数中重新分配对象本身,则不会更改原始对象,但如果重新分配对象的一个属性,则会影响原始对象。我

在现代JavaScript中是否可以找到JavaScript变量的内存地址?或Typescript变量的地址

我对传递值和传递引用感到困惑,使用内存地址很容易理解现实。现在我们有了ES8和Typescript,但仍然无法获取变量和对象的内存地址。

来自:


这或多或少是不可能的——Javascript的评估策略是始终使用按值调用,但在对象(包括数组)的情况下,传递的值是对对象的引用,而不是复制或克隆。如果在函数中重新分配对象本身,则不会更改原始对象,但如果重新分配对象的一个属性,则会影响原始对象。

我所知道的所有JavaScript运行时都会对您隐藏这一点


但是,您可以根据希望存储的数据类型,使用和适当的缓冲区视图来模拟内存指针的行为。您可以通过将数据保存在特定偏移量处,然后将该偏移量传递给直接在类型化数组中操作数据的不同函数来模拟指针:即偏移量的行为有点像低级指针。

JavaScript本身是不依赖于实现的,因此,像内存地址这样的概念在语言本身中是故意不存在的。在该语言之外,您可以使用浏览器的调试工具拍摄内存快照,其中可能包含信息。但是,请注意,不能真正保证某个对象会保留其地址。

发布了多个答案的可能副本,但我想说的是,真正的问题是:你为什么需要这个?Typescript中的varables呢?我需要这个答案,因为我阅读了这么多关于传递值和传递引用的帖子和文档,但由于内存管理,甚至没有一个人对现实情况有把握。对于传递引用,我们需要知道标识符的内存地址。