怎么理解:
JSX 是在 JavaScript 内部实现的.
对楼上的说法不敢苟同,因为使用构建工具的时候,模板语言(Vue的template部分)也是会编译成JS描述的AST,最终还是要用JS来解析的。要理解作者说这句话的含义,得看上下文。
题主引用的句子,完整版应该是百度百科:JSX 里面这一句:
……其格式比较像是模版语言,但事实上完全是在JavaScript内部实现的。
这句话前面提到了模板语言,极大概率指的是“其他框架”的template了,template的的特点在于其本身与JS形式上是各自独立的两部分。
前半句话说完,笔锋一转,来了个“但事实上”,说明他要开始讲JSX不同于template的地方了。
JSX与template不一样的地方在于: JSX的XML部分与JS部分可以写在同一上下文,而不是分为两部分,这应该就是所谓的“完全是在JavaScript内部”。
但是这里的说法总感觉怪怪的,可以看一下React官方文档里的描述:
JSX 可能会使人联想到模板语言,但实际上它具有 JavaScript 的全部功能。
也就是告诉你:在JSX里面你完全可以写JS,然后需要描述UI的地方写XML就行。
所以你纠结的这一点,可能是某个译者表达不到位而已。在遇到此类问题的时候,可以参考官方文档,不必去抠那一两个字眼,因为有些作者的表达方式可能产生迷惑性。
这里貌似已经不是 React 文档第一次暗戳戳地拿 React 跟“其他框架”作比较了,我记得在某个版本的文档里,React 为了强调自己是个库而不是框架,就差把 Vue 的大名挂出来了。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
JSX就是用js重新编译解析了一遍而已.