1. 程式人生 > 實用技巧 >【react】筆記20201123

【react】筆記20201123

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!'
);