2014-02-23 12 views
0

有时我需要确保变量是一个String。我曾经通过使用operator new String(value)来做到这一点。在Javascript中使用新的String()时的字符串比较

但是,当我这样做时,比较不起作用。例如:

var dude = new String("dude"); 
var dude2 = new String("dude"); 
console.log(dude == dude2); //will print 'false' 

如何在使用“new String()”时进行字符串比较?

我使用JS作为谷歌企业应用套件脚本

回答

1

你可以这样做:

dude.toString() == dude2.toString() 
+0

那这是一个很好的解决方法。但是,当我们使用新的String(值)来定义它们时,为什么我们不能比较两个变量? – Hodor

0

这就是为什么 '花花公子' 和 'dude2' 是不平等的原因:

var dude = new String("dude"); 
var dude2 = new String("dude"); 

console.log(typeof dude) //object 
console.log(typeof dude2) //object 

,你可以做这样的:

var dude = String('dude'); 
var dude2 = String('dude'); 
dude === dude2 //true