什么是语法糖?
语法糖字面意思是语法+糖(美化)。
其实就是在编译结果不变的情况下,为了达到某种目的(使代码简洁,使语义自然,使更接近面向对象编程等...),改变代码的书写方式,使达到目的。
常见的语法糖有:
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');