检查javascript中字符串的相等性

时间:2016-05-26 00:20:07

标签: javascript

您好,我来自c ++背景,所以我以前从未遇到过这个问题;在javascript我只是试图检查两个字符串之间的相等,并遇到一些麻烦。例如,如果我这样做:

...
Component.onCompleted: {

var arr = [img1]

        if(arr[0].source === "qrc:/image.png"){   //using === don't work
            console.log("ok")
        }

}

Image{
    id: img1
    width: 100
    height: 100
    source: "image.png"
}

没有任何反应,因为当它应该是真的时,它似乎没有被评估为真。但是,如果我使用==代替,它确实评估为真,但我得到类型coersion的警告......

UPDATE 根据评论,我似乎需要首先检查源的类型然后检查字符串,所以我尝试:

   var arr = [img1]

   console.log(typeof arr[0].source)

        if(typeof arr[0].source === Object){
            if(arr[0].source === "qrc:/image.png"){
                console.log("ok")
            }
        } 

但是第一次检查是假的,虽然它是一个对象......仍然无法正常工作。

解决

我只需要在源代码上调用toString()来启用严格类型和值比较:

  var arr = [img1]

            if(arr[0].source.toString() === "qrc:/image.png"){
                console.log("ok")
            }

感谢所有帮助......

0 个答案:

没有答案