DART программирование
Интересная штука у Dart с типами данных для DOM. Есть такой HTML: <div id="b"></div>. И есть такой тип как ButtonElement который является подтипом HtmlElement. И поскольку этот div выступает в ролик этакой кнопки, почему бы не соединить класс ButtonElement и тэг div который как бы типа кнопка. Делаем раз:
b = querySelector('#b') as ButtonElement;
Делаем два:
print(b is ButtonElement);
И на выходе получаем слово Uncaught. Вроде всё правильно. ButtonElement расширяет HtmlElement (именно этого типа данные возвращает функция querySelector) и приводя данные с типом HtmlElement к типу ButtonElement что–то да должно получится. Долго тупил пока не посмтрел на констуктор ButtonElement который выглядит вот так:
factory ButtonElement() => document.createElement("button");
Если вместо div использовать button, то всё работет.