Code Golfing Tips & Tricks: How to Minify your JavaScript Code
Created on 14 августа 2022 г..
Достаточно большой читшит разных трюков для написания программ, где размер кода критично важен. Например, это разные челленджи вида “напиши свой твиттер\игру\блог и умести его в 3кб кода”. По сути, весь читшит - это инструкция как самому стать минификатором кода. Некоторые хаки очень даже элегантны, если можно применить к ним такое слово.
Ниже представлены примеры кода, которые мне особенно понравились
в setTimeout и setInterval можно передавать строки, вместо функций
setInterval(function(){console.log("z")},100) // before
setInterval('console.log("z")',100) // after
Обмен значений переменных
var a=1,b=2,c;c=a;a=b;b=c // before
var a=1,b=2;a=[b,b=a][0] // after
var a=1,b=2;a=b^a^(b=a) // after - not as useful, but can come in handy
Use
[]._instead ofundefined""._, 1.._and0[0]also work, but are slower.void 0is faster thanundefinedbut longer than the alternatives.
Более короткий вариант Math.round
Math.round(a) // before
a+.5|0 // after
Является ли x - функцией?
Instead of using typeof x==‘function’, you can use /^f/.test(typeof x).