什么是語法糖?


定義:在計算機科學中,語法糖(syntactic sugar)是指編程語言中可以更容易的表達一個操作的語法,它可以使程序員更加容易去使用這門語言:操作可以變得更加清晰、方便,或者更加符合程序員的編程習慣。
具體來說,語法糖是指語言中的一個構件,當去掉該構件后並不影響語言的功能和表達能力。例如,C語言中的標記a[i]就是*(a+i)的語法糖。語言的處理器,包括編譯器,靜態分析器等,經常會在處理之前把語法糖構件轉換成更加基礎的構件,這個過程通常被稱為"desugaring"。

簡而言之,語法糖就是一種便捷寫法。
例如:input.map(a => a-8);
 

去掉語法糖就是:

 

input.map(function (a) {
       return a - 8;
});

通過例子你可以看出來,語法糖的使用其實就是讓我們的寫的代碼更簡單,看起來也更容易理解。
實際上從面向過程到面向對象也是一種語法糖啊,C語言可以通過它的指針、類型轉換,結構實現面向對象的編程風格,但是C++更進一步的推廣了這種風格,更好用了,不過到了C#把OO的風格發揮得淋漓盡致。OO的編程風格對於面向過程來說是不是一種語法糖呢?如果生硬地照此理解,只有計算機硬件指令才不算語法糖,而其他一切利用編譯器、匯編器將代碼抽象,和自然語言更相近的手段都算語法糖。



作者:重慶淡靜
鏈接:https://www.jianshu.com/p/617b509e66a3
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM