zoukankan      html  css  js  c++  java
  • 究竟什么是语法糖呢

     其实语法糖只是一个概念,大家可能很早就在接触语法糖了,只是一直不知道这个就是语法糖

    百科原话:语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编程)创造的一个词语,它意指那些没有给计算机语言添加新功能,而只是对人类来说更“甜蜜”的语法。语法糖往往给程序员提供了更实用的编码方式,有益于更好的编码风格,更易读。不过其并没有给语言添加什么新东西。

    这里有两点需要注意的:

    1语法糖的目的:是为了让代码更易读,更容易让人理解。

    2语法糖的本质:只是一种新的编码方式,并没有给语言增加新的功能

    比如 C语言中  如果数组用指针的形式表示某元素的话

     1 a[i]表示 1 *(a+i) 

     1 a[i][j] 表示 1 *(*(a+i)+j)    这在本质上并没有给c增加新的功能,但是读起来却方便很多

    在C#中比如:

     1 public string MyName { get; set; } 

     
    表示
     1 private string _myName;
     2 
     3 public string MyName
     4 
     5 {
     6 
     7     get { return _myName; }
     8 
     9     set { _myName = value; }
    10 
    11 }
    12 
    13  
     
    using (var stream = new FileStream("", FileMode.Create))
    {
        // do something
    }

    表示:

     1 var stream = new FileStream("", FileMode.Create);
     2 try
     3 {
     4     // do something
     5 }
     6 finally
     7 {
     8     if (stream != null)
     9     {
    10         stream.Dispose();
    11     }
    12 }

    在此需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法。(貌似每个介绍语法糖的文章都会来这么一句)很多人觉得写原生的方法时不是效率更高,其实不然,在程序编译过程中,编译器已经会帮我们做转换;而且可以提高开发编码的效率,在性能上也不会带来损失。

  • 相关阅读:
    克隆节点及添加属性节点
    元素属性的添加删除(原生js)
    清浮动方法
    css样式获取及兼容性(原生js)
    js基础---数据类型转换
    js基础---数字日期及运算
    js基础---object对象
    input询问键盘输入超时自动跳过选择默认值
    xpath定位
    selenium报错问题解决方法
  • 原文地址:https://www.cnblogs.com/jilodream/p/4225080.html
Copyright © 2011-2022 走看看