2024最新前端React面试题:JSX是什么,它和JS有什么区别

JSX是什么,它和JS有什么区别

回答思路:1.编写方式--->2.分别是什么?--->3.分别是怎么编译的?

1.编写方式

(1)JS在标签中编写,可以被浏览器直接识别

(2)JSX可在html中编写JS,不能被浏览器直接识别,需要转译

2.分别是什么?

(1)JS是原生写法

(2)JSX是react的语法糖,JSX是JS的语法扩展

3.分别是怎么编译的?

(1)JS可以被打包工具直接编译,不需额外的转换

(2)JSX需要通过babel编译,它是React.createElement的语法糖,使用JSX相当于是React.createElement
注意:在react17之后jsx不一定会被转换为React.createElement

JSX编写:

javascript 复制代码
function App(){
    return <h1>123</h1>
}    

JSX通过babel或者其他的编译工具编译之后:

javascript 复制代码
import {jsx as _jsx} from 'react/jsx-runtime';
function App() {
  return _jsx('h1', { children: '123' });
}

编译之后不需要通过import React就能使用jsx了,但是用react hooks还是需要import React

相关推荐
空中海2 分钟前
03 性能、动画与 React Native 新架构
react native·react.js·架构
好运的阿财24 分钟前
OpenClaw工具拆解之host_workspace_write+host_workspace_edit
前端·javascript·人工智能·机器学习·ai编程·openclaw·openclaw工具
XiYang-DING37 分钟前
JavaScript
开发语言·javascript·ecmascript
ffqws_1 小时前
Spring Boot 接收前端请求的四种参数方式
前端·spring boot·后端
空中海2 小时前
02 React Native状态、导航、数据流与设备能力
javascript·react native·react.js
是安迪吖2 小时前
企业资产管理系统练习
前端·ai
zhouwy1132 小时前
AI 编程工具结合 Figma MCP 实现前端设计高保真还原
前端·人工智能·figma
kyriewen2 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
前端·c++·webassembly
悟空和大王2 小时前
核心 SDK 详细设计文档 (Visual-Render-SDK)
前端
空中海2 小时前
02 状态、Hooks、副作用与数据流
开发语言·javascript·ecmascript