js,jsx,ts和tsx在用法上的区别
JS 和 JSX
在文件后缀中
.js
表示这是一个 JavaScript 文件
.jsx
表示这是一个 JavaScript XML 文件
JavaScript 是一种直译式脚本语言
JavaScript XML 是React组件内部构建标签的类XML语法。可以理解为React提供的语法糖,可以让编译器更方便快速的选择编译方式。
JavaScript 是能够被浏览器直接识别的,JavaScript XML需要经过编译器(webpack等)转换成 JavaScript
但在正常使用上,两者没有什么区别, .js
的语法和 .jsx
的后缀可以互换,语法上也完全兼容
Facebook的团队建议(也就是React的创造者),统一使用 .js 即可,无需特意区分。
TS 和 TSX
- TS文件是使用TypeScript编写的标准JavaScript文件,可以包含变量声明、函数定义等内容;
- TSX文件是TypeScript中的一种格式,它允许我们将JSX片段嵌入到TypeScript代码中,从而提供更好地对React组件的类型检查。
- 使用TSX文件时,我们需要先定义特定的接口或类型,然后使用这些接口或类型来表示React组件props和状态的类型。
从使用的角度上来说
.ts 的文件,内容上不支持 <div>
这种HTML语法,会报错的,而且VS Code
这类代码编辑器也不会提供相关代码提示和补全的功能。
总结:使用上 js=jsx,tsx=ts(不支持html语法(如<div>))+jsx
如果你只为JavaScript文件添加某些类型信息,则可以使用TS文件。
如果你要写一个React应用程序并想要利用TypeScript的类型检查,那么应该选择TSX。
js,jsx,ts和tsx在用法上的区别相关推荐
- (005)RN开发 js jsx ts tsx的区别
背景:在入门RN开发的过程中,发现公司项目代码中,有的项目是全是.js的后缀文件.有的项目全是ts.tsx.js 文件.心中很是疑惑,所以就写个文章记录下自己的解惑的过程. js:是弱类型语言,容易出 ...
- .js/.jsx/.ts/.tsx
.js是javascript文件的扩展名,例如main.js. .jsx是javascript文件并表明使用了JSX语法. .ts是typescript文件的扩展名 .tsx表明是typescript ...
- C与C++在const用法上的区别
首先,C和C++在大体结构上不同,却在语法上相同. 所以在使用的时候,我们会时常遇到一些莫名其妙的问题,觉得语法上是正确的,但是编译的时候却出现一个红色的 error! 比如今天我遇到的这个有意思的 ...
- 关于SQL数据库中cross join 和inner join用法上的区别?
使用mysql创建两张表 表a 表b 可以使用下面的脚本创建表,并且添加测试数据: CREATE TABLE `a` ( `name` varchar(10) CHARACTER SET utf ...
- C语言typedefine用法介绍,typedef与define在用法上的区别
简单来讲:#define只是简单的进行了替换,而typedef则是为类型取了个"别名". 1. #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是 ...
- spark的client模式和cluster模式用法上的区别
运行模式 启动命令 备注 client模式 spark-shell --master yarn 支持shell,client模式可以在 命令行中省去deploy-mode命令项 cluster模式 s ...
- rate和ratio在用法上的区别(转)
http://blog.sciencenet.cn/blog-656335-992410.html rate 可以翻译为速度或速率,指不同单位之间的关系.比如,某人开车的 rate 是30公里/小时: ...
- Typescript助力项目开发:JS切换TS、TS类型定制与思考
TS已经成为可以帮助项目顺利开发的存在了.在上半年笔者就被要求采用TS开发新的项目,并在一些老项目中用TS去改造(因为沟通原因我以为某个远程组件只有TS版本).在其中也有了一些思考. 首先是目录结构. ...
- 加个ing是什么意思_英语中动词ed和ing形式作形容词时用法有啥区别,牢记以下要点!...
一.动词ed形式 1.意义:动词ed形式作形容词时,表达"某人对--感到怎么样",形容的是人. 2.用法:一般用于sb+be+ 形容词+at/in/about--等固定搭配中. 例 ...
最新文章
- C++STL 优先队列priority_queue使用
- python语言标识符首字符不能是汉字_Python基本语法元素
- jQuery将不再支持IE6/7/8
- 计算机英语 TCP IP什意思,TCP/IP常见英文缩写释义
- css3动画 --- Animation
- poj 1459-Power Network解题报告
- 数据挖掘-Apriori算法
- 公司如何实施 EDI 项目?
- 一个将汉字转换成拼音的npm包
- 科密考勤机对比和参考价
- “互联网+”医疗服务
- php 批量下载网页文件,批量下载文件(以xxx网站为例)
- gitlab运行后修改存储位置
- APP软件项目迭代开发
- 开发利器IntelliJ IDEA—带你体验各种神奇操作
- Charles 4.5.6版本抓包工具的下载、注册与配置
- 重复的事情用心做!感悟
- hgame week1 2021 pwn
- 评价股票博客好坏的指标(第11期)
- 基于 twemproxy 搭建 redis 集群
热门文章
- 删除子串 string
- okHttp3.0下载文件
- 凸优化中凸函数定义、直线与线段、凸集、仿射集合、仿射函数
- 【RL-TCPnet网络教程】第28章 RL-TCPnet之DNS应用
- 关键字搜索苏宁商品API接口(苏宁商品列表API接口)
- 在linux中hdparm作用,關於Linux中hdparm的應用
- 王者荣耀微信查服务器,通过微信看别人王者荣耀记录_别人微信查交易记录怎么查询...
- 微信小程序组件库开发记录
- 关于springboot启动时报错 [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.clas
- WIFI慢的应该用什么办法解决