Показать сообщение отдельно
  #17 (permalink)  
Старый 28.07.2022, 09:00
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,754

Сообщение от Alikberov
Как видно, всюду - восклицательные знаки.
Не понял о чем это.
Сообщение от Alikberov
так как я плохо понимаю (оказывается) объектную модель JavaScript.
В js есть примитивные типы: number, string, boolean, undefined, null, symbol, bigint
Все остальное - объекты.
Свойства и методы могут быть только у объектов.
Нельзя задать свойство примитивному типу
Ну нельзя так
let b = true;
b.prop = 42;
if (b.prop) {}

Вы пишите n.WITH = 16. Но n - bigint. Примитивный тип.
Сообщение от Alikberov
А ещё прроблема - необходимость копировать массив из-за безвременного действия опции SIGNED.
Только сделать опцию SIGNED временной. Обнулять после первого использования
Т.е. например так

RAX :function() { 
  var n = this[0]; n = (n & 0xFFFFFFFFFFFFFFFFn) | 
(this.EXPAND_SIGN && (n & 0x8000000000000000n) ? 
0xFFFFFFFFFFFFFFFF0000000000000000n : 0n);
 /*n.WIDTH = 16; */
  this.EXPAND_SIGN = false; //!!!
  return n; 
},
Ответить с цитированием