如果我var str1 = "a string"
,那么当我查看调试器中的字符串时,我会得到一个字符串文字(因为想要更好的术语)。即它只显示"一个字符串"
但是,如果我执行var str2 = new Ember.String("another string")
,那么它将显示为String对象,其中字符列为数组项而不是"另一个字符串"
这是一个问题,因为如果我有一个像var myarray = ["str1", "str2","str3"]
这样的数组并且myarray.contains(myvar)
,如果myvar是String类型,它就不会工作。
现在我遇到了这个,因为我已经通过了一个动作处理程序"这个"并发现它已成为String类型。到底是怎么回事! 如何将我的String转换回原始的js字符串,以便它可以在我的常量数组中用于查找?
答案 0 :(得分:0)
您获得的对象不是“Ember”字符串,它只是通过new String('')
创建的Javascript字符串对象。我不知道为什么你会遇到一个,但如果你这样做,只需将其转换为字符串原语。您可以使用toString()
方法或(更安全的方式)通过连接空字符串str2 + ''
来执行此操作。