语法糖

Apr 30, 2019 5:06·339 words ·1 minutes read

之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。

之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然… 写得爽,看着爽,就像吃了糖。效率高,错误少,老公回家早…

PS: 据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕竟提高了语法学习门槛,让人咸到忧伤…

我觉着 js 里的对象原型继承有点「咸」,不然 ES6 也不会急着加糖(纯吐槽)


最基本的,for循环就是一个语法糖:

for (var i=0; i<10; i++) {
    ...
}

而这个实际上跟while没啥区别:

var i = 0;
while (i<10>) {
    ···
    i++
}

简单说,语法糖就是为了避免coder出现错误并提高效率的语法层面的一种优雅的解决方案。