JavaScript中将String对象转换为字符串原始值

10
一个愚蠢的问题,如何将javascript中的String对象转换为String原始类型?
问题在于我有一个使用字符串字面值作为键的映射表,如果我传递一个String对象给它,它不会返回任何结果。有没有办法将该字符串对象转换为原始类型以从映射表中获取结果?

1
你应该一开始就有字符串对象。 - Felix Kling
1个回答

9
你可以使用valueOf方法从包装对象中提取基本值:
var sObj = new String("foo");
var sPrim = sObj.valueOf();

JavaScript中的包装对象(StringBooleanNumber)具有一个[[PrimitiveValue]]内部属性,它保存由包装对象表示的原始值:

[[PrimitiveValue]]:与此对象关联的内部状态信息。在标准内置ECMAScript对象中,只有Boolean、Date、Number和String对象实现了[[PrimitiveValue]]。

这个原始值可以通过valueOf访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接