有没有办法添加"子属性"到JS中的变量?

时间:2017-01-09 18:01:35

标签: javascript variables properties getter

我问自己是否有办法在变量中添加类似 subproperty 的东西。以下是我想要实现的一个例子:

var variable = 5;
variable.property = "what ever...";
console.log(variable); //outputs 5
console.log(variable.property); //outputs "what ever..."

(数据类型并不重要......)

是否有可能使用getter或Proxys实现此目的,并且我的变量是否需要成为对象?

希望你能提供帮助,有办法做到这一点:)

1 个答案:

答案 0 :(得分:1)

您可以将ad-hoc属性添加到指向Object的任何变量。如果您对使用类似对象感兴趣,也应该阅读prototypehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype

但是,您的示例使用数字5,即原语。您无法为Primitives分配属性:https://javascriptweblog.wordpress.com/2010/09/27/the-secret-life-of-javascript-primitives/

另请参阅此答案:https://stackoverflow.com/a/509780/71906