@maximRomashko

Что означает этот синтаксис?

Есть такой код
return this.len += (this.tail = this.tail.next = new f((t >>>= 0) < 128 ? 1 : t < 16384 ? 2 : t < 2097152 ? 3 : t < 268435456 ? 4 : 5,t)).len,
                this

Это тело функции, каким образом понять "return число, this" ?
Заранее спасибо за помощь, если ответ очевидный отправьте пожалуйста на доку.
Может это какой-то синтаксический сахар?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Возвращает у вас судя по всему всегда this, а то что в скобках это так называемый side effect. Стороннее действие.
Тык
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Очень похоже на код сжатый через terser.js или что-то подобное.
Если развернуть немного, то получится вот так:
let a;
t >>>= 0;
if(t < 128) a = 1;
else if(t < 16384) a = 2;
else if(t < 2097152) a = 3;
else if(t < 268435456) a = 4;
else a = 5;
this.tail.next = new f(a, t);
this.tail = this.tail.next;
this.len += this.tail.len;
return this;

Ну а на оператор запятая Вадим уже дал ссылку
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы