См. предыдущую статью для литералов и переменных. Отказ от ответственности тоже есть.

Выражения

  • Если все части вашего выражения преобразуются в логические значения или неотрицательные числа, вы можете заменить && и || на * и +:
// Long:
d=a&&b||c
// Short:
d=a*b+c
  • Конкатенацию строк можно заменить интерполяцией:
// Long:
s='prefix'+a+'infix'+b+'suffix'
// Short:
s=`prefix${a}infix{$b}suffix`
  • Работает даже лучше с более сложными выражениями, так как интерполяция подразумевает круглые скобки:
// Long:
s='prefix'+(a+b)+'suffix'
// Short:
s=`prefix${a+b}suffix`
  • Строгие сравнения сохраняют символ:
// Long:
for(i=1;i<=50;i++)
// Shorter:
for(i=1;i<51;i++)
  • А изменение кода (если возможно) для замены статической части сравнения на ноль может сделать его еще короче:
// Shorter:
for(i=1;i<51;i++)
// Shortest:
for(i=51;i;i--)

Конверсии

  • Целая часть числа:
// Long:
Math.floor(n)
// Short:
~~n
  • Строка в число (основание 10):
// Long:
parseInt(s)
// Short:
+s
  • Вроде очевидно, но все же; число в строку (основание 10):
// Long:
n.toString(10)
// Short:
''+n
  • Число в строку (основание 2):
// Just conversion:
n.toString(2)
// If fixed width is worth additional characters:
n.toString(2).padStart(8,0)
  • Строка в массив символов:
// Long:
a=s.split('')
// Short:
a=[...s]

Петли

  • Обычно стандартный for довольно хорош, просто не забывайте, что вы можете использовать запятую, чтобы поместить несколько операций в любой раздел:
for(a=1;a<10;a++)
for(a=1,s='',o=[];a<10,s+=a;o.unshift(s),a++)
  • Иногда рекурсивная функция с условием выхода лучше, но обычно это происходит, если вы можете повторно использовать функцию несколько раз:
(g=(n,f)=>n?(f(n),g(--n,f)):0)(10,print)
  • Есть случаи, когда цикл можно реализовать с помощью регулярных выражений, но опять же, это зависит от специфики случая:
print('123456789'.replace(/./g,c=>c*c+' '))
  • Не забывайте про Array.prototype.map, особенно хорошо работает с arguments:
arguments.map(a=>print(a))
  • Иногда цикл вообще не нужен, так как короче «скомпилировать» выражение JavaScript в виде строки, а затем вычислить его, например. посмотрите на этот код, который вычисляет сумму цифр:
n=12345
// Long:
for(s=0,a=n;a;a/=10)s+=~~a%10
// Short:
eval([...''+n].join('+'))

Это все на данный момент.