@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
Верставший фронтендер
Возвращает у вас судя по всему всегда this, а то что в скобках это так называемый side effect. Стороннее действие.
Тык
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Бородатый программер
Очень похоже на код сжатый через 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;

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

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
03 дек. 2020, в 02:47
5000 руб./за проект
03 дек. 2020, в 00:05
3000 руб./за проект