返回首页

缩短 JS:三元表达式

脚本语言体积也算成本——能用三元就用三元。

发布 2017年8月10日 标签 #javascript #minification

~/posts/minify-ternary $ cat post.md

/ 语言 EN / 中文
/ 主题 / /

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 这类工具——这里先按下不表。

返回首页