Если вы имеете в виду пример с матрицей светодиодов, то объяснено, почему они используют массив, они хранят значения отдельных светодиодов в матрице таким образом
arr.push(cb.checked === true ? 1 : 0);
, и это, вероятно, причина. Таким образом, вы, конечно, можете отправлять отдельные значения по последовательному каналу, но в этом сценарии эффективнее делать пакеты данных вместо отдельных значений (MatrixLED)
EDIT
Uint8Array () * Конструктор 1009 * создает типизированный массив 8-разрядных целых чисел без знака. Содержимое инициализируется равным 0. После создания вы можете ссылаться на элементы в массиве, используя методы объекта или используя стандартный синтаксис индекса массива.
Подробнее читайте здесь и подробное чтение
Почему разработчик решил использовать именно этот метод - вы должны написать электронное письмо автору программы.