Сообщение от voraa
|
Не понял о чем это.
|
width = reg.WIDTH;
flag = isFinite(width);
if(!flag)
width = regId in Widths ? Widths[regId] : 16;
Как видно, всюду - восклицательные знаки.
Признак того, что ширину слова приходится читать из таблицы - getter её не передаёт.
Сообщение от voraa
|
В js есть примитивные типы: number, string, boolean, undefined, null, symbol, bigint
Все остальное - объекты.
Свойства и методы могут быть только у объектов.
Нельзя задать свойство примитивному типу
|
Почему тогда
это работает?
Я
тренировался специально над Number, чтобы затем завернуть всё в алгоритм выше. Но не работает!
В чём подвох?
Сообщение от voraa
|
Вы пишите n.WITH = 16. Но n - bigint. Примитивный тип.
Только сделать опцию SIGNED временной. Обнулять после первого использования
Т.е. например так
|
Я тоже думал о таком костыле, но надеялся, что в JS есть возможность стрюковать.