LeetCode의 Linked List Cycle 문제를 풀다가

===~=와 헷갈리는 바람에 gae고생을 하였다.

너무 크게 얻어 맞은 느낌이라 정리를 안 해도 까먹진 않을 것 같지만...

그래도 그냥 넘어가면 아쉬우니 정리를 해보려고 한다.

비교 연산자 (Comparison Operator)

===~= 모두 비교 연산자에 속한다.

=== 의 반대 격이라고 할 수 있는 !== 도 당연히 비교 연산자다.

비교 연산자

초보 입장에서 값 비교를 할 일은 많아도

참조나 패턴 비교를 할 일은 비교적 적다 보니 이해도가 낮았던 것 같다.

✏️ reference 비교 예시

class는 참조 타입의 대표격이라고 할 수 있다.

비교 연산을 실험해보기 위해 Book이라는 class를 생성했다.

class Book {
    let title: String
    let author: String
    
    init(title: String, author: String) {
        self.title = title
        self.author = author
    }
}

그리고 4개의 인스턴스를 생성해준 뒤, bookShelf에 3권을 담았다.

let book1 = Book(title: "Swift왕 김애플", author: "김애플")
let book2 = Book(title: "사과 농장 차리는 방법", author: "김애플")
let book3 = Book(title: "와장창 알고리즘", author: "와장창")
let book4 = Book(title: "와장창 자료구조", author: "와장창")

var bookShelf = [book1, book2, book3]