我如何获得原始值的参考?

how do i get a reference of primitive value?

var number = 12345;

var obj = {};

做类似的事情

obj.look    ((((((some operator or function to get a reference of number )))))      number

无论如何,让我们认为现在 obj 有一个对数字的引用。
所以我想这样做。

obj.look = 'abc';

console.log (number); // hopefully  'abc'

我希望它会是:

  1. 不是方法(如 obj.look() )
  2. 但可以参考 属性(例如 obj.look)

    我要问的是如何获取原始值的引用。
    我相信一定有办法。请帮帮我。

您可以使用 Object.defineProperty:

var number = 12345;

var obj = {};
Object.defineProperty(obj, 'look', {
    get() {
        return number;
    },
    set(value) {
        number = value;
    }
});

document.write(obj.look + '<br>');
obj.look = 'abc';
document.write(number);

您可以拥有一个对象,将该引用复制到另一个变量,改变该对象,因为两个变量都持有对同一对象的引用,所以从一个变量所做的任何更改也可以从另一个变量访问。

原始值可以包装到对象中 (new Object),但不能以其他方式引用它们。 String 对象是不可变的(所有属性都是不可配置的,不可写的)并且 Number 对象的值也是不可访问的。所以你不能改变任何一个对象的值。

这意味着当你这样做时:

obj.look = 'abc';

您正在擦除旧引用并在那里设置新字符串(对象或基元)。 number 仍将保留旧参考并保持不变。

所以,没有。我认为这在 Javascript.

中是不可能的