Проверка типа в Dart
Параметр типа в Dart сохраняется во время выполнения.
Проверка value is List<int> смотрит и на список,
и на тип элементов. Обычное приведение без проверки
здесь не нужно: после успешной ветки тип уже известен.
Такая проверка удобна перед безопасным приведением или ветвлением логики:
Object? payload = [1, 2, 3];
if (payload is List<int>) {
print(payload.length);
}
Для своих классов имя в is пишут
как обычный тип. Обобщенный класс проверяют
с подстановкой аргумента типа в угловых
скобках.
Дан следующий код:
class Employee {
final String name;
Employee(this.name);
}
Object? value = Employee("ann");
Добавьте проверку is Employee и при
успехе выведите поле name.
Дан следующий код:
class Employee {
final String name;
Employee(this.name);
}
Object? raw = ["io", "api"];
Проверьте raw is List<String> и
выведите true или false.