Skip to content

JS解惑-语法糖 #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sunmaobin opened this issue May 26, 2017 · 2 comments
Open

JS解惑-语法糖 #11

sunmaobin opened this issue May 26, 2017 · 2 comments
Assignees
Milestone

Comments

@sunmaobin
Copy link
Owner

什么是语法糖?其实很简单。

定义

什么是语法糖?

语法糖,英文是:Syntactic Sugar

维基百科的定义是:

In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express.

翻译过来的定义是:

在计算机科学中,语法糖是一种编程语言中的语法,设计语法糖的目的是为了使事情处理起来更加容易阅读或者表达。

更加直白的说法是:语法糖就是某种特性语法的简写形式。

扩展

1、什么是语法盐?

语法盐,英文是:Syntactic Salt

定义:

为避免容易犯的语法错误加上的额外语法限制

2、什么是语法糖精/语法糖浆

语法糖精,英文是:Syntactic Saccharin
语法糖浆,英文是:Syntactic Syrup

定义:

使得程序更加容易的一种语法。

关于这2个的定义,可以参看维基百科:

总结

语法糖并不是某一种特定语言的独有语法,而是所有计算机语言都有的,比如鼻祖类的C语言中就有了数组的语法糖等。

只不过现在在前端JS中,尤其ES6中为了使得程序开发更有效率,更加一致,所以增加了很多语法糖(简单语法)而已。

不要以为这是什么神秘技术,只是一种概念的称呼而已。

更多参考

  1. 维基百科-语法糖
  2. ES6 语法糖之我见
@sunmaobin sunmaobin added this to the 2016年 milestone May 26, 2017
@sunmaobin sunmaobin self-assigned this May 27, 2017
@edte
Copy link

edte commented Jul 17, 2020

语法糖并不是某一种特定语言的独有语法,而是所有计算机语言都有的

这句话似乎不太对呀,每种语法都有特定的语法糖,不能说某个语法糖是所有语言都有的,只能说每种语言里都有语法糖这个概念。

@sunmaobin
Copy link
Owner Author

语法糖并不是某一种特定语言的独有语法,而是所有计算机语言都有的

这句话似乎不太对呀,每种语法都有特定的语法糖,不能说某个语法糖是所有语言都有的,只能说每种语言里都有语法糖这个概念。

我这句话的意思可没有说 “某个语法糖是所有语言都有的” 呀?难道有歧义?我的意思就是说:“所有计算机语言都有语法糖”

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants