Оператор is
Оператор is проверяет, принадлежит ли объект
указанному типу. Если объект является экземпляром
указанного типа, оператор возвращает true,
в противном случае - false. Слева от оператора
указывается проверяемый объект, справа - тип, на
принадлежность к которому выполняется проверка.
Оператор часто используется для безопасного
приведения типов и ветвления логики в зависимости
от фактического типа объекта.
Синтаксис
object is Type
Пример
Давайте проверим, является ли число целым типом int:
void main()
{
var num = 12345;
print(num is int);
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли строка типом int:
void main()
{
var str = 'abcde';
print(str is int);
}
Результат выполнения кода:
false
Пример
Давайте проверим, является ли объект типом num,
когда фактически он имеет тип int:
void main()
{
num value = 12345;
print(value is int);
print(value is num);
}
Результат выполнения кода:
true
true
Пример
Давайте используем оператор is для ветвления
логики в зависимости от типа объекта:
void main()
{
var value = 'abcde';
if (value is String) {
print('value is a String');
} else {
print('value is not a String');
}
}
Результат выполнения кода:
"value is a String"