我猜一个愚蠢的问题,我们如何将javascript中的String对象转换为String原语?
问题是我有一个映射,其中键是一个字符串文字,如果我向它传递一个String对象,它不会给出任何结果。我可以用任何方式将该字符串对象转换为基元来从地图中获取结果吗?
答案 0 :(得分:3)
您可以使用valueOf
方法从包装器对象中提取原始值:
var sObj = new String("foo");
var sPrim = sObj.valueOf();
JavaScript中的包装器对象(String
,Boolean
,Number
)具有[[PrimitiveValue]]
internal property,其中包含由包装器对象表示的原始值:
[[PrimitiveValue]]
:与此对象关联的内部状态信息。在标准的内置ECMAScript对象中,只有Boolean,Date,Number和String对象实现[[PrimitiveValue]]。
可以通过valueOf
访问此原始值。