我对TypeScript有点熟悉,并且最近已经了解了JSX。他们似乎都和我相似。我查看了与this website上的JSX的比较,他们将它与Dart和其他一些技术进行了比较,但未与TypeScript进行比较。
TypeScript和JSX似乎都编译为JavaScript并提供静态类型和类,但它们似乎是互补的而不是竞争对手,根据网络上的一些地方,如TypeScript and JSX。
我试图让这不太开放,所以有人可以告诉我,TypeScript提供的功能与JSX没有相反,反之亦然吗?
答案 0 :(得分:40)
原始答案不充分,不符合现行标准。
JSX不是一种语言。它不是Javascript但有不同的扩展名。 Facebook提出了这个新扩展,以便他们可以在JavaScript中划分HTML类似HTML的实现。在React的早期版本中,此扩展对于在JavaScript中编写HTML是必需的。但是,几年前这个限制被删除了,这基本上意味着JS和JSX没有任何区别。 (现在只使用.js扩展名是标准规范BTW)
来到TypeScript,它是一个JavaScript的SUPERSET,它为普通的JavaScript增加了额外的功能,使应用程序更加健壮。 观看此视频以更好地理解TypeScript: https://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript
总而言之,JSX = JS,typescript是Javascript的超集,JSX和TypeScript之间没有比较。
答案 1 :(得分:1)
我会尽力给您一个简短的答案。以我的经验,关于TSX的一个很棒的地方是它将立即避免一些错误,它具有静态类型,易于维护并且可以使用OPP(是的,例如Java)。 JSX与JS非常相似,您不必定义数据类型(动态类型),非常自由并且易于理解。
答案 2 :(得分:-4)
比较两者有点像苹果和橘子。 JSX是一种语言,TypeScript可以编译它。我建议你在这里阅读:http://www.typescriptlang.org/docs/handbook/jsx.html