You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native默认使用JavaScript还是TypeScript?新建项目代码类型疑问

关于React Native默认语言及你看到的代码类型的解答

嘿,作为React Native新手完全不用不好意思,我刚入门的时候也对这些文件类型的细节懵过😉 咱们一步步理清楚你的问题:

1. React Native项目默认使用JavaScript还是TypeScript?

  • 目前React Native(0.60版本之后)的默认初始化项目是纯JavaScript项目,但官方会自动帮你配置好TypeScript的支持环境——意思是你不用额外折腾配置,就能随时在项目里新增.ts/.tsx的TypeScript文件,无缝混用两种语言。
  • 如果想直接创建纯TypeScript项目,初始化时需要加模板参数:
    npx react-native init MyProject --template react-native-template-typescript
    

2. 你看到的.js文件里有类似TypeScript的关键词,到底是JS还是TS?

这是最容易混淆的点,我来拆解清楚:

  • 后缀为.js的文件本质还是JavaScript,但React Native默认开启了「在JS文件中支持类型标注」的特性——这些看起来像TS的语法,其实是JSDoc类型注解或者TypeScript兼容的JS类型语法,不是真正的TypeScript代码。
  • 举个例子,你可能在默认的App.js里看到@flow strict-local这样的注释,这是Flow(Facebook早期的类型检查工具)的注解,现在RN默认同时支持Flow和TS的类型检查;还有可能看到类似/** @type {string} */这样的JSDoc标注,或者变量后面的: number类型提示,这些都是编辑器(比如VS Code)能识别的类型语法,但运行时依然是按JavaScript来解析执行的。
  • 简单说:这些.js文件是带类型提示的JavaScript,不是TypeScript——真正的TS文件后缀是.ts或.tsx。

如果实在不想看到这些类型相关的内容,你可以修改项目根目录的tsconfig.json,把allowJs字段设为false来关闭JS文件的类型检查,但新手阶段我不建议这么做,毕竟类型提示能帮你提前发现很多潜在的bug~

内容的提问来源于stack exchange,提问作者SamyCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:11:31