前端/移动开发面试题更新 2026-08-05

在 React 开发中,JSX 与标准 HTML 有哪些主要区别?请从语法、属性命名、代码结构等方面说明。

前端/移动开发技术原理HTMLJSXReact

考察说明

考察对 React JSX 与 HTML 差异的理解,包括语法和概念层面。

回答思路

  1. 【回答框架 1】JSX 是 JavaScript 的语法扩展,最终被编译为 React.createElement 调用;而 HTML 是标记语言,由浏览器直接解析。JSX 必须由构建工具(如 Babel)转换后才能运行。
  2. 【回答框架 2】属性命名差异:JSX 使用 camelCase,如 className 替代 class、htmlFor 替代 for;事件属性如 onClick 替代 onclick。注意 style 接受对象而非字符串。
  3. 【回答框架 3】JSX 支持嵌入 JavaScript 表达式,使用花括号 {},可实现动态渲染和逻辑;HTML 是静态的,无法直接嵌入表达式。
  4. 【回答框架 4】JSX 要求标签必须闭合,如 <img /> 和 <br />,而 HTML 某些标签可以省略闭合。
  5. 【回答框架 5】JSX 只能有一个根元素(React 16 后支持 Fragment),且注释写法不同,JSX 使用 {/* 注释 */}。
  6. 【关键点 1】JSX 是语法糖,编译为 React.createElement。
  7. 【关键点 2】属性名采用 camelCase,如 className、htmlFor。
  8. 【关键点 3】JSX 可嵌入表达式,支持动态内容。
  9. 【关键点 4】JSX 要求标签闭合,且注释方式不同。
  10. 【关键点 5】JSX 允许使用自定义组件,标签名可大写开头。
  11. 【易错点 1】不可将 class 直接用于 JSX,需用 className,否则 React 不识别。
  12. 【易错点 2】style 属性需传入对象,不能是字符串。
  13. 【易错点 3】JSX 中的注释必须使用 {} 包裹,否则会被当作文本输出。