2020-2-2 语法糖

原文:https://www.cnblogs.com/lyraLee/p/10931721.html

语法糖字面意思是语法+糖(美化)。

其实就是在编译结果不变的情况下,为了达到某种目的(使代码简洁,使语义自然,使更接近面向对象编程等...),改变代码的书写方式,使达到目的。

常见的语法糖有:

1. ES6中的 class(更像面向对象编程的语法)

   ES6 的class可以看作是ES5中构造函数的另一种写法。而且class去检测类型就是function。

class A {}
console.log(typeof A) // "function"

  它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

2. react中的jsx语法(使代码简洁)。其实是React.createElement(component, props, ...children)的语法糖。

<MyButton name="hello">world</MyButton>

相当于

React.creatElement("MyButton", {name: "hello"}, ‘world‘);