缩短 JS:三元表达式
脚本语言体积也算成本——能用三元就用三元。
发布 2017年8月10日 标签
#javascript
#minification
~/posts/minify-ternary $ cat post.md
JS 在传输和执行时基本是以纯文本形式存在的,因此减小体积最直接的方法就是把代码写短一点。三元表达式在这件事上意外地好用。
看下面这段:
let a = 10;
if (a === 10) {
return 123;
} else {
return 456;
}
6 行,字符数不少。略简化的写法:
let a = 10;
if (a === 10) return 123;
else return 456;
return 123;后面的分号不能省。
行数少了,但 return 还是写了两遍;在没有完整测试覆盖之前我也不太愿意省 JS 的分号。
换成三元:
let a = 10;
return a === 10 ? 123 : 456;
一行。逻辑同样清楚。
这种手工压缩只适合小段代码。真的要为产物减重,还是要靠 uglify / terser 这类工具——这里先按下不表。