Swift 標準ライブラリ >     ===(_:_:)
演算子
===(_:_:)
2つの参照が同じオブジェクトインスタンスを指しているかどうかを示すブール値を返します。
宣言
パラメータ
lhs | 比較すべき参照。 |
rhs | 比較すべき別の参照。 |
議論
この演算子は、2つのインスタンスが同じ値を持つかどうかでハンク、同じ ID を持つかどうかをテストします。値の等しい事については、等価演算子(==) と Equatable プロトコルを参照してください。
以下の例では、参照の意味を持つ整数型の IntegerRef 型を定義しています。
class IntegerRef: Equatable { let value: Int init(_ value: Int) { self.value = value } } func ==(lhs: IntegerRef, rhs: IntegerRef) -> Bool { return lhs.value == rhs.value }
IntegerRef はクラスであるため、そのインスタンスは識別同一演算子(===)を使用して比較できます。さらに、IntegerRef は Equatable プロトコルに準拠しているため、インスタンスは等価演算子(==) を使用して比較することもできます。
let a = IntegerRef(10) let b = a print(a == b) // Prints "true" print(a === b) // Prints "true"
識別同一演算子(===)は、2つのインスタンスが同じ値を持つ場合でも、異なるオブジェクトインスタンスへの2つの参照を比較するときには false を返します。
let c = IntegerRef(10) print(a == c) // Prints "true" print(a === c) // Prints "false"
以下も見よ
関連したシンボル
Equatable, ==, !==