Size: a a a

Flutter Developers — русскоговорящее сообщество

2021 April 21

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
А вот что из себя представляет "наллабл тип"
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Ну она говорит, этот объект может обладать сразу двумя типами значений (юнион)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Либо такойто объект, либо налл.
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
Поэтому там в твоём примере на проверке он сверился по двум типам, по Null совпало, вот и object в ответе
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Да, все так
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
ты не проверяешь на некий неведомый тип Map?, ты проверяешь на Map и на Null,  если что то из этого совпало - true
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
Номатаем на ус, спасибо
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
А вот если мы скормим ему
final Map<String, bool?>? value = {'i': null};

value is Map<String, Object?>?

как он тут типы мапы сравнивает, аналогично тому как ты выше описывал?
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
Типа сначала что это мапа, а потом уже по самим её типам сделает проверки, иначе дропнет false?
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Честно говоря, как сравниваются дженерики я не знаю.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Они учитываются, это факт
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
а как - не подскажу
источник

АЕ

Артём Ефименко... in Flutter Developers — русскоговорящее сообщество
Спасибо всё равно
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
void main() {
 print(<String, num>{} is Map);
 print(<String, num>{} is Map<Object, Object>);
 print(<String, num>{} is Map<String, int>);
 print(<String, int>{} is Map<String, num>);
}
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Тоесть они учитываются как ожидается, но за сами тонкости не подскажу.
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
а что выведет print(Null is Object) ?
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
true
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Null это Type
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
чет я не догоняю почему
источник