Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : equality, identity, reference types, value types

В чем разница между операторами == и ===?

Этот вопрос проверяет знание различий между операторами == и === в Swift, которые используются для сравнения значений и объектов, соответственно.

Короткий ответ

== проверяет равенство значений, использующих протокол Equatable.

=== проверяет идентичность объектов, то есть указывают ли два объекта на один и тот же адрес в памяти.

Длинный ответ

В Swift операторы == и === используются для сравнения, но для разных целей:

== (оператор равенства): используется для сравнения значений. Оператор == проверяет, равны ли два значения. Чтобы использовать ==, тип должен соответствовать протоколу Equatable, который обеспечивает функциональность для сравнения значений.

Пример:

let str1 = "Hello"
let str2 = "Hello"
str1 == str2  // true

=== (оператор тождества): используется для сравнения объектов. Оператор === проверяет, указывают ли две переменные на один и тот же объект в памяти (сравнивает их идентичность). Этот оператор работает только с ссылочными типами (например, классами), а не с типами значений (структуры, перечисления).

Пример:

class Fruit {
    	var name = "Banana"
}

let fruit1 = Fruit()
let fruit2 = fruit1
fruit1 === fruit2  // true (они ссылаются на один и тот же объект)

Применение:
Оператор == обычно используется для проверки равенства значений (например, чисел, строк), а оператор === применяется для проверки, указывают ли две переменные на один и тот же экземпляр объекта.
Оператор == проверяет равенство значений, а оператор === — идентичность объектов, то есть их принадлежность к одному и тому же месту в памяти.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    3

Навыки

  • Swift

    Swift

Ключевые слова

#equality

#identity

#reference types

#value types

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.