首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我们不需要在jsx的末尾添加分号?

在JSX中,我们不需要在末尾添加分号的原因是因为JSX是一种类似HTML的语法扩展,它被转译为JavaScript代码后会被解析为函数调用或对象创建。在JavaScript中,分号通常用于表示语句的结束,但在JSX中,每个标签都被视为一个独立的表达式,而不是一个完整的语句。

JSX的语法规则中,每个标签都必须被闭合,或者以自闭合的形式存在,例如<div></div><input />。这种标签的闭合形式使得分号在语法上不再必要,因为每个标签都被视为一个完整的表达式。

另外,JSX的转译过程中,通常会使用Babel等工具来将JSX代码转换为普通的JavaScript代码。这些工具会自动处理语法转换和代码格式化,确保生成的JavaScript代码是有效的,即使没有显式添加分号。

总结起来,我们不需要在JSX的末尾添加分号的原因是:

  1. JSX中的每个标签都被视为一个独立的表达式,而不是一个完整的语句。
  2. JSX的转译工具会自动处理语法转换和代码格式化,确保生成的JavaScript代码是有效的。
  3. 在JSX中添加分号可能会导致语法错误或不必要的代码格式问题。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 人工智能机器学习平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iotexplorer
  • 移动应用开发平台(MPS):https://cloud.tencent.com/product/mps
  • 云数据库 MySQL 版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_for_mysql
  • 腾讯云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(TBaaS):https://cloud.tencent.com/product/tbaas
  • 腾讯云游戏多媒体引擎(GME):https://cloud.tencent.com/product/gme
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

软技能提升:转转中后台规范落地实践

所以,为了避免类似事情发生,我们需要一定文档积累,但这些文档至少需要包含什么内容呢,这就需要我们协定下一定规范。...rules: { // 末尾不加分号,只有在有可能语法错误时才会加分号 semi: 0, // 箭头函数需要有括号 (a) => {} "arrow-parens": 0.../ tab 用两个空格代替 tabWidth: 2, // 仅在语法可能出现错误时候才会添加分号 semi: false, // 使用单引号 singleQuote...', // 每个文件格式化范围是文件全部内容 rangeStart: 0, rangeEnd: Infinity, // 不需要写文件开头 @prettier...为什么这么做? 当然,规范化,并不是说定好后就能立马彻底解决以上所有痛点,而是优先针对增量项目进行规范,逐步积累我们公共基础能力,提高可复用和可维护性。

89431
  • 统一开发环境、了解配置原理(上)

    : pnpm i eslint -D -w 这种校验只需要在开发环境使用,所以下载在开发环境中即可,同时,因为我们是Monorepo项目,所以我们要在后面加-w,如果是普通单仓库项目是不需要加后面的内容...,如果有不了解,之前去看前面提到两篇文章,里面都有详细介绍,我们就不废话了,直接添加一个规则,比如不允许使用console,只需要在rules里面添加: "rules": { 'no-sonsole...tabWidth: 2, //每个缩进空格数 useTabs: false, //使用制表符而不是空格缩进行 semi: true, //在语句末尾打印分号 vueIndentScriptAndStyle...,我们想看看生效没有,比如我们配置了在末尾需要加分号我们随意找个地方写个不带分号看看提示: 你会发现没有任何提示,没错,是我们没生效么?...,我们只去配置一个小小功能就是保存时候,自动修复eslint错误即可,我们添加如下: "eslint.validate": ["html", "vue", "javascript", "jsx

    12810

    webpack-eslint

    - 启用 JSX * */ "ecmaFeatures": {} }, // 指定代码运行宿主环境 env: { browser: true..."always" (默认) 要求在语句末尾使用分号, "never" 禁止在语句末尾使用分号 (除了消除以 [、(、/、+ 或 - 开始语句歧义)图片那么经过了如上配置之后就覆盖了引入 standard...当中部分不合理规则,从而实现了自己需要满足需求了,现在开始来测试一下我们配置 eslint,我们先将 eslint loader给注释掉,先来看看没有使用 eslint 打包效果,然后在看看放开...放开之后:图片发现提示了几个错误,我们将它提示内容解决下,就是说没有发生 name 变量从定义开始就没有在进行修改过了可以利用 const 进行修饰,定义字符串需要使用单引号不能使用双引号,还有一个就是说每段代码最后都要添加一个分号来进行结尾...:图片提升开发效率通过阅读打包错误信息来修复不符合规范语法非常低效,所以我们可以通过 webstrom 插件来帮我们完成提示,如上自动修正是在编译时候进行,如果想要在编写时候就有对于修正效果,

    22500

    浅谈持币生息DAPP项目模式系统开发技术讲解代码分析

    首先了解一下什么是持币生息钱.包静态和动态:  1.静态:和字面意思一样,主要在于恒定,不需要有任何动作,玩家只需要存币在平台里面去,根据平台规则比如定时给玩家反多少利息等,这种和存款获得利息道理是一样...图片  2.动态:动态收.益需要玩家一些操作便能获得到一定利息,常见比如在平台存币同时去推荐其朋友来平台存币,根据朋友存量来获得额外利息。...top", "editor.formatOnPaste": false, "editor.matchBrackets": false, "files.associations": { "*.jsx...javascript.implicitProjectConfig.experimentalDecorators": true}"prettier.singleQuote": true, 单引号"prettier.eslintIntegration": true, prettier按照eslint约定规范来格式化..."prettier.trailingComma": "all", 所有的对象和数组最后一项末尾都要写逗号·"prettier.semi": false, 不要分号"javascript.implicitProjectConfig.experimentalDecorators

    28970

    【Vue3+TypeScript】CRM系统项目搭建之 — 代码规范

    以 WebStrom 为例,安装 Editorconfig 插件 此时需要在项目根目录下新建配置文件 .editorconfig 官网文档 – 跨编辑器保持统一代码风格 # http://editorconfig.org...、Less、JSX、Angular、Vue、GraphQL、JSON、Markdown 等语言,基本上前端能用到文件格式它都可以搞定,是当下最流行代码格式化工具。...:在多行输入尾逗号是否添加,设置为 none,比如对象类型最后一个属性后面是否加一个,; semi:语句末尾是否要加分号,默认值true,选择false表示不加; { "useTabs": false...使用 Eslint 进行代码检测 在前面创建项目的时候,我们就选择了ESLint,所以Vue会默认帮助我们配置需要ESLint环境。...比如在 prettier 中规定在代码保存时候自动格式化代码,使得所有得单引号变为双引号,但是我们在 eslint 中规定是,不可以是双引号。这就不符合 eslint 规范了。

    12910

    从 0 到 1 搭建一个企业级前端开发规范

    我们安装项目依赖时候,这个文件会自动更新 接下来我们创建以下文件目录 └── src/ ├── index.ts // 项目入口文件 ├── package.json 添加 TypeScript...我们为什么需要 TypeScript 呢?...: 支持 JSX.参考文档 include:编译器需要编译文件或者目录 添加 ESLint 代码规范校验 ESLint 可以帮助我们找出有问题编码模式或不符合规则代码 有关 ESLint 详细讨论可以查看这篇文章...并且自动修复 如果需要屏蔽不需要检测文件或目录,可以在项目根目录添加 .eslintignore .DS_Store node_modules dist build public 添加 Prettier...代码自动格式化工具 Prettier 是一个代码格式化工具.某些与代码校验有关规则(例如,语句末尾是否加分号)就可以由 Prettier 自动处理。

    2.9K20

    前端老项目接入 eslint 从配置到上线一些思考

    ', // jsx 不使用单引号,而使用双引号 jsxSingleQuote: false, // 末尾需要有逗号 trailingComma: 'all', /.../ 大括号内首尾需要空格 bracketSpacing: true, // jsx 标签反尖括号需要换行 bracketSameLine: false, // 箭头函数...: Infinity, // 不需要写文件开头 @prettier requirePragma: false, // 不需要自动在文件开头插入 @prettier insertPragma...commit 卡控 为了保证 eslint 规则有效,需要在提交 commit 时候进行检查,如果存在没有修复 eslint 问题直接终止提交。...如果采用第 2 个方案,后续开发老页面保存时候一定会出现大面积自动 lint,我们可以在添加新代码前先保存一下触发 lint 并且提交一个 msg 为 lint auto fix commit

    1.1K20

    React基础篇 - 02.JSX 简介

    在下一个章节里面我们会详细介绍元素是如何被渲染出来,接下来呢,我们先来看看 JSX 基本使用方法。...我们书写 JSX 时候一般都会带上换行和缩进,这样可以增强代码可读性。与此同时,我们同样推荐在 JSX 代码外面扩上一个小括号,这样可以防止 分号自动插入 bug....JSX 嵌套 如果 JSX 标签是闭合式,那么你需要在结尾处用 /> ,就好像 XML 一样: const element = ; JSX 标签可以有子标签...你可以将其视为你想要在屏幕上看到东西。React 通过读取这些对象来构建 DOM 并保持数据内容一致。 我们将在下一个章节当中介绍更多有关 React 元素 是如何渲染成 DOM 内容。...我们不需要一定使用 JSX,但它有以下优点: JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。 它是类型安全,在编译过程中就能发现错误,并且防注入攻击。

    89750

    前端老项目接入 eslint 从配置到上线一些思考

    ', // jsx 不使用单引号,而使用双引号 jsxSingleQuote: false, // 末尾需要有逗号 trailingComma: 'all', /.../ 大括号内首尾需要空格 bracketSpacing: true, // jsx 标签反尖括号需要换行 bracketSameLine: false, // 箭头函数...: Infinity, // 不需要写文件开头 @prettier requirePragma: false, // 不需要自动在文件开头插入 @prettier insertPragma...commit 卡控 为了保证 eslint 规则有效,需要在提交 commit 时候进行检查,如果存在没有修复 eslint 问题直接终止提交。...如果采用第 2 个方案,后续开发老页面保存时候一定会出现大面积自动 lint,我们可以在添加新代码前先保存一下触发 lint 并且提交一个 msg 为 lint auto fix commit

    1.4K20

    JSX 简介

    它被称为JSX,是一个JavaScript语法扩展。我们建议在REACT中配合使用JSXJSX可以很好地描述UI应该呈现出它应有交互本质形式。...JSX可能会使人联想到模板语言,但它具有JavaScript全部功能。 JSX可以生成REACT“元素”。我们将在下一章节中探讨如何将这些元素渲染我DOM。下面我们看下学习JSX所需要基础知识。...为什么使用JSX? REACT认为选软逻辑本质上与其他UI逻辑内在耦合,比如,在UI中需要绑定处理事件、在某些时刻状态发生变化时需要通知到UI,以及需要在UI中展示准备好数据。...搞清楚这个问题后,我们就开始学习JSX吧!...同时,我们建议将内容包裹在括号中,虽然这样做不是将至要求,但是这可以避免遇到自动插入分号陷阱。

    1.8K20
    领券