什么是Syntactic-sugar


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/09/09/%E4%BB%80%E4%B9%88%E6%98%AFSyntactic-sugar/

摘要

本文主要讲述了:

  1. Syntactic-sugar
  2. Syntactic-salt
  3. Syntactic-saccharin

正文

Syntactic-sugar

Syntactic-sugar(语法糖)。

在计算机术语中,Syntactic-sugar 指的是:“在编程语言中,相比于基础语法,那些使得开发者能够更简洁明确地表达逻辑的语法”。

Syntactic-sugar 对编程语言的功能并没有影响,但它更便于开发者使用且能提高代码的可阅读性。

静态分析器和编译器在处理代码时,会把 Syntactic-sugar 转换为基础语法,这个过程称作“脱糖”。

示例:

1
var foo = new Array(1, 2, 3, 4, 5);
1
var foo = [1, 2, 3, 4, 5];

上面的两种表述都能够创建一个相同的 JavaScript 数组,但相比之下,第 2 种表述更简洁明确。因此可以把第 2 种表述称作第 1 种表述的语法糖。

Syntactic-salt

Syntactic-salt(语法盐)。

类似于防呆设计,Syntactic-salt 指的是:“在编程语言中,那些使得开发者更难写出错误代码的语法”。

示例:在 Java 中,禁止把float型变量的值赋值给int型变量。

1
2
3
int foo;
float bar = 1.23;
foo = bar;

相比之下,C 和 C++在这一点上显得更宽容,它们会截断float型变量的值然后把整数部分赋值给int型变量。

Syntactic-saccharin

Syntactic-saccharin(语法糖精)。

类似于过度设计,Syntactic-saccharin 指的是:“在编程语言中,那些并没有使得编程更容易的语法糖”。

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/09/09/%E4%BB%80%E4%B9%88%E6%98%AFSyntactic-sugar/


本文对你有帮助?请支持我


支付宝
微信