Swift 中的 === 和 !== 是啥?和 JS 中的一样吗? [复制]

Posted

技术标签:

【中文标题】Swift 中的 === 和 !== 是啥?和 JS 中的一样吗? [复制]【英文标题】:What is === and !== in Swift ? Is it similar like in JS? [duplicate]Swift 中的 === 和 !== 是什么?和 JS 中的一样吗? [复制] 【发布时间】:2017-05-18 12:44:50 【问题描述】:

我正在尝试将 js 代码转换为 swift(两者都是新的)。我发现在 js 中他们使用 === 将 json 值与字符串进行比较。

有人可以帮我在swift(3.0)中找到===的含义,它是否也像JS一样做同样的操作? 我在 js 中找到的用法 -

                    try 
                        var rsltjsn = JSON.parse(responseData1[0]);
                        console.log("valid json")
                     catch (e) 


                    for (var k in rsltjsn) 
                        console.log(k)
                        if (k === "access_token")   //<-what it means
....
..

【问题讨论】:

但为什么要与json和字符串类型比较?? 您可以在“The Swift Programming Language”iBook 中搜索=== 【参考方案1】:

在 js 中 === 表示完全相等,所以数字 2 和字符串 '2' 是 == 而不是 ===。

然而,在 swift 中,=== 用于比较类。这意味着这两个类是完全相同的。这是如果您想检查两个实例实际上是否引用了具有相同值的同一个类。

实际上,你需要在 js 中使用 === 进行比较,但在 swift 中 == 是你最常用的

【讨论】:

以上是关于Swift 中的 === 和 !== 是啥?和 JS 中的一样吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Swift 闭包中的 $0 和 $1 是啥意思?

Swift 中的尾随闭包语法是啥?

Xcode中的swift语言版本构建设置是啥意思?

Swift 中的可选值是啥?

@objc 动态变量在 Swift 4 中是啥意思

使用 Xcode 9 和 Swift 4 本地化应用程序的最佳方式是啥?