20201123
语法糖:
当于汉语里的成语,用更简练的言语表达较复杂的含义。在得到广泛接受的情况之下,可以提升交流的效率;实现了运行时等价;语法糖就是一种便捷写法;ES6就新增了很多语法糖。。。数组还有对象的一些方法等。
对于机器语言,任何比他高级的语言都是语法糖,比如汇编语言,高级语言。
对于汇编语言,任何比他高级的语言都是语法糖,比如高级语言。
对于面向过程的语言,面向对象的语言都是语法糖。
是为了避免coder出现错误并提高效率的语法层面的一种优雅的解决方案。
例子:
,for循环就是一个语法糖,
for (var i = 0; i < 5; i++){ ... }
实际上跟while没啥区别
var i=0; while (i < 5){ ... i++; }
input.map(item => item + 1);
input.map(function (item) { return item + 1; });
乘法——为了让连续同值加法更简便。 5 * 5 与 5 + 5 + 5 + 5 + 5等价。乘法并不是新的方法,而是建立在加法基础上为了使加法更加简便。
y+=x 是 y=y+x 的语法糖
NSNumber * num = @(10); 等价 NSNumber * num = [NSNumber numberWithInteger:10];
[[NSArray alloc] init]; 语法糖: @[];
3 / 2 * 3 / 2 = (3 + 3 + 3) / (2 + 2)。从这个角度出发小数点也是语法糖。2.25用自然语言表达为2又2分5钱,是不是太麻烦,一个点就能代替那么多字
试着下个定义:设数学结构 表示形式语义,其外延等价以表示。考虑 CF 语言 L 和 M,其文法(产生式组)为和且存在非空产生式组 使得。显然有。两个语言都有对应的 SDD,,并且后者是前者的扩展(换言之)。那么若 为 M 的 Syntactic Sugar,则它必须满足两个性质:可翻译性:存在可计算「去糖」函数 u 使得 且。局部性:考虑代码段 p q r,p 是 L 中某个串的真前缀,r 是 L 中某个串的真后缀,q 是 M 中可由中的某个产生式产生的串,并且三者拼接的结果,那么必定存在串 s 使得 s 是 L 中某个串的真子串并且 。 作者:Belleve 链接:https://www.zhihu.com/question/20651624/answer/59418710 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
整理来源:知乎 https://www.zhihu.com/question/20651624
-----------------------------------------------------------------------------------------------
1.关于jsx
const title = <h1 className="title">Hello, world!</h1>;
本质上,jsx是语法糖,上面这段代码会被babel转换成如下代码
const title = React.createElement( 'h1', { className: 'title' }, 'Hello, world!' );